方法的返回值不一定要相同!只要保持和父类的返回值兼容就行了!
比如,父类的某个方法返回值是 double,子类重写该方法时可以返回 int,因为 int 可以转为 double。
这位同学的回答 不对!
比如,父类的某个方法返回值是 double,子类重写该方法时可以返回 int,因为 int 可以转为 double。
这位同学的回答 不对!
2017-04-29
那个第一个评论明显是在误人子弟啊,子类对父类方法的重写必须具有相同的方法名称,参数列表和返回值类型的,只有访问权限是不能比原方法更严格。
这位同学就有灵性了,但是有一个地方你说错了!注意啊,你在后面将学到可协变类型,即子类重写父类的方法,返回值类型可以改变,但是必须是父类方法的返回类型的子类。
这位同学就有灵性了,但是有一个地方你说错了!注意啊,你在后面将学到可协变类型,即子类重写父类的方法,返回值类型可以改变,但是必须是父类方法的返回类型的子类。
2017-04-29
单继承的意思是儿子只有一个亲爹,一个爹也只有一个儿子
这评论 是错的,点赞的人注意了。
一个爹可以有好多个儿子。学到接口你会发现,一个儿子虽然只有亲爹,但是可以有许多的干爹
这评论 是错的,点赞的人注意了。
一个爹可以有好多个儿子。学到接口你会发现,一个儿子虽然只有亲爹,但是可以有许多的干爹
2017-04-29
System.out.println("内部类中的name:" + this.name );//这样就是错的
这样应该是对的,输出内部类自己的name。
这样应该是对的,输出内部类自己的name。
2017-04-29
public static int sum() {
int sum=score1+score2;
return sum;
}
int sum=score1+score2;
return sum;
}
2017-04-29
我讲讲为什么要向下强制转换,转换后可以使用子类特有的方法和属性(比如狗可以看门的方法),转换前只能使用父类的方法和属性,无法使用子类的特有属性。
2017-04-29
这里有多种写法,大家可以参考一下
System.out.println( className);
System.out.println(HelloWorld.className);
System.out.println( new HelloWorld().className );
System.out.println( className);
System.out.println(HelloWorld.className);
System.out.println( new HelloWorld().className );
2017-04-28
最新回答 / 不吃苹果的羊
IPlayGame ip3 = new IPlayGame(){ @Override public void playGame() { // TODO Auto-generated method stub System.out.println("使用匿名内部类的方式实现接口!"); } };ip3.playGame();<...code...>
2017-04-28
public class ggg {
public class ccc{
ccc(){
System.out.println("cccc");
}
void show(){
System.out.println("nnn");
}
}
public static void main(String[] args) {
//ggg.ccc b = new ggg().new ccc();
new ggg().new ccc().show();
}
}
public class ccc{
ccc(){
System.out.println("cccc");
}
void show(){
System.out.println("nnn");
}
}
public static void main(String[] args) {
//ggg.ccc b = new ggg().new ccc();
new ggg().new ccc().show();
}
}
2017-04-27
我的理解是大类型和小类型就相当于子类和父类,子类转换成父类是自动转换,父类转换成子类就是强制转换,需要添加运算符intanceof。没有关系的同类就不能转换,就是cat和dog那种。不知道我的理解对不对,大家多指正。
2017-04-27