01: package parent;
02: public class Parent {
03: protected void amethod() {
04: System.out.println("amethod in parent class");
05: }
06: }
Child.java
01: package child;
02: import parent.Parent;
03: public class Child extends Parent{
04: public static void main(String []args) {
05: Child child = new Child(); child.amethod();
06: Parent parent = child;
07: parent.amethod();
08: }
09: } 为什么第六行不报错,第七行报错的原因是?
解决方案 »
- 江湖救急啊,java读取两个wav文件问题
- getRemoteSocketAddress()类型问题
- javac疑问
- Java如何同步两个异地同构数据库中的部分表的数据
- 文件和目录的问题,请教
- 为什么Java mail发出的信收不到?
- 请问这句话是什么意思??——类、this、实例
- 再问一个更刁钻的问题:怎样限制jTabel中某一个列(字段)只能输入数字,而不是字母呢?
- 怎么让数据库中的内容只能用软件通过ODBC来查询,而不能用查询分析器或企业管理器来查看表结构和内容。
- InvocationHandler接口中的invoke方法里的参数含义,其中Object proxy参数的作用是什么,可以去掉吗?
- java 环境变量的问题
- 关于java.sql问一个问题,请大家帮忙,谢谢
是一个正确的程序啊
执行结果是:
amethod in parent class
amethod in parent class
是一个正确的程序啊
执行结果是:
amethod in parent class
amethod in parent class
你把父类的方法改成静态的就可以了
子类继承了父类,重载了方法,所以可以直接用的
new Parent的一个对象出来就出问题了
Object是所有类的基类对吧?看看API里面它的clone方法?protected签名!所以你new 任何一个对象,都可以调用clone()方法,当然不重写的话就是用Object类的实现,但唯独你new 一个Object是无法调用clone,因为clone在Object这一层对外部是不可见的!综述:protected是作用就是无论对method还是field,对于本继承层次来说相当于private,对下一层子类相当于public。
Child child = new Child(); child.amethod()是可以的
05: Child child = new Child(); child.amethod();
06: Parent parent = child; -------這是引用
第5行已經實例化了
07: parent.amethod(); ------這是調用方法
08: } 但你沒有實例化
最后第七行 parent.amethod(); 就相当于一个单独调用 9楼 yami251139 的说法。单独调用父类一个invisible的方法所以报错,是不是这样理解?
明明只是一个protected关键字的问题,什么没有实例化,导入包错误之类的说法都出来了,这是哪跟哪阿?最后的解释:
A a = new B();
A决定了这个对象能访问哪些方法和成员变量,叫做用A来签名
B决定了这个对象如何去初始化,调用哪个构造方法再不理解我也没办法了……
Parent parent = new Child();
就是創建一個 A類型的對象a但實現的方法是從b()里面拿的吧
就算你繼承父類 但你的方法還是從子類里面拿 他子類里又沒這個方法。。
總歸報錯咯。。
就算你繼承父類 但你的方法還是從子類里面拿 他子類里又沒這個方法。。
....
13楼的说法有误
子类已经继承了amothod,在代码里虽然没有这个方法,但是
Child child = new Child();
child.amethod()是可以执行的。
(这样做是有好处的,父类定义一个方法,但不希望父类对象使用这个方法,必须由子类来使用。举个典型的例子:
Object是所有类的基类对吧?看看API里面它的clone方法?protected签名!)
,感觉很好~~谢谢~~
Parent parent = child
parent。amothod()。。
你沒看懂我意思。。
我是說他這個parent的引用類型是父類的 卻要在子類里調用父類的方法
lz問第7行為什么報錯,我解釋一下而已