問題 1:
package mypack1;
public class Factor{
protected Fathor(){
}
}package mypack2;
public class Child extends Factor{
Child(){
Factor f = new new Factor();--此句有錯?如何解釋?(當然沒必要這樣寫,只是想知道為什么?)
}
}問題 2:
package mypack1;
public class Factor{
Fathor(){
}
}package mypack2;
public class Child extends Factor{
Child(){//此處有錯,如何解釋?
}
}
package mypack1;
public class Factor{
protected Fathor(){
}
}package mypack2;
public class Child extends Factor{
Child(){
Factor f = new new Factor();--此句有錯?如何解釋?(當然沒必要這樣寫,只是想知道為什么?)
}
}問題 2:
package mypack1;
public class Factor{
Fathor(){
}
}package mypack2;
public class Child extends Factor{
Child(){//此處有錯,如何解釋?
}
}
你在在它面前在加个new 算什么 ,肯定不通过编译的啦
还有你父类编译完毕后.clss是放到包mypack1里的,你这样肯定不行。
子类继承要用import mypack1.Factor 导入父类才能顺利通过编译。
Child(){
Factor f = new Factor();--此句有錯?如何解釋?(當然沒必要這樣寫,只是想知道為什么?)
}
}import mypack1.Factor
public class Child extends Factor{
Child(){
Factor f = new new Factor();--此句有錯?如何解釋?(當然沒必要這樣寫,只是想知道為什么?)
}
}是不是需要方法的返回类型呢???
不好意思!只是说出自己的看法!可能回答不对!!
请不要介意
所以当必须这样用的时候,就需要系统提供的Super()
public class Factor{
Fathor(){
}
}
Factor类中的Fathor()方法怎么没有返回值类型?
或者是楼主手误,构造函数名写错了??
因为你要继承别的包中的类,就要
import mypack1.*;
或者
extends.mypack1.Factor
Factor f = new Factor();
为啥错!
答:是应为Factor的构造函数是protected,包外不可见(包外可继承,但不能new)问题2
Child(){}
为啥错
答 :Fathor(){}这个构造函数是friendly,对于其他包是不可见得
也就是说包外不能继承 问了问题不给分 是可耻的