1.匿名类的问题
public class NoName { public static void main(String[] args) {
Student stu = new Student() {
public void sayHello() {
System.out.println("adf");
}
};
}
}
这样写为什么一直报错呢?2.类继承中的构造方法问题
Base.javapublic class Base {
public Base(int j, int k) {
}}Check.javapublic class Check extends Base{
public Check(int j){
}
public Check(int j, int k){
super(j,k);
}
}Check.java是报错的,但是在Base.java中写出默认的构造方法就可以了。能解释下是什么原理吗?
public class NoName { public static void main(String[] args) {
Student stu = new Student() {
public void sayHello() {
System.out.println("adf");
}
};
}
}
这样写为什么一直报错呢?2.类继承中的构造方法问题
Base.javapublic class Base {
public Base(int j, int k) {
}}Check.javapublic class Check extends Base{
public Check(int j){
}
public Check(int j, int k){
super(j,k);
}
}Check.java是报错的,但是在Base.java中写出默认的构造方法就可以了。能解释下是什么原理吗?
解决方案 »
- main方法是静态方法,为什么能直接实例化对象??
- 求高手:看看简单代码的问题
- Syntax error on token "}", delete this token 肯定没有少}啊
- java判断字符串表达式的正确性并计算结果
- 请教在线在页面上设置Windows应用程序各种配置的开发思路
- jbuilder运行问题
- JAVA做的登陆器 帮忙看看 怎么改的更好
- 我想用JCreator来编译这样子一个java文件,除了安装jdk外,还需要什么配置操作呢?
- 第一次用java在linux下编程出现问题. 看了别笑
- for(byte b : devices[i].mac_address)的一般写法
- 关于jre环境配置,奇怪问题???帮帮忙,各位大侠!!!
- 调查:大家读《JAVA 编程思想》第三版 (Thinking In Java 3rd)花了多长时间?
public Base(int j, int k) {
}}
写了一个构造函数,所以默认的被去掉了,new Check(5)的时候没有显式调用父类的构造函数,所以会调用父类默认的构造,而默认的没有,所以会报错
是匿名类了,那么就不可能出现Student str=.......
你没有定义过Student 所以会包错了。2.java中:你定义一个类,如果不写构造函数,它就默认提供一个无参构造函数。
如果你一旦,定义了构造函数,JAVA就认为你已经提供了构造函数,所以它就不会帮你创建无参构造函数。除非你显式定义。在你上面的类Check中,
public Check(int j){
}
因为Check是Base的子类,所以在Check构造函数初始化时,它要先调用Base构造函数而你的public Check(int j)中没有调显示调用Base构造函数,同时,Base中也没有无参构造涵数
所以就出错了。
class Student {
}
我不认为第一个有什么问题
你构造了一个继承Student的匿名类,然后将父类引用指向子类对象.
new java.io.Serializable() {
public void sayHello() {
System.out.println("adf");
}
}.sayHello();
}
}
在类noname加上类Student{}