JAVA中A a = new B()的方法调用问题
来源:互联网 发布:mac写java web 编辑:程序博客网 时间:2024/04/29 23:33
父类:
public class Animal { public Animal() { // TODO Auto-generated constructor stub System.out.println("I am animal"); } public void bar(){ System.out.println("bar........."); } public void test(){ System.out.println("Animal:hehe......"); }}
子类:
public class Dog extends Animal{/** * @param args */ Dog(){System.out.println("i am a dog");} public void bar(){ System.out.println("dog...."); } public void test1(){ System.out.println("dag: hehe....."); }public static void main(String[] args) {// TODO Auto-generated method stubAnimal a=new Dog();a.bar();a.test(); Animal b=new Animal(); b.bar(); b.test();}}
输出结果:
I am animal
i am a dog
dog....
Animal:hehe......
I am animal
bar.........
Animal:hehe......
总结:
Animal a=new Dog()
实际是先实例化一个子类对象,然后在转换为父类对象。先调用父类构造函数,再调用子类构造函数。当子类重写了父类的方法时,将调用子类的bar()方法。子类没有重写父类方法时,将调用父类方法test()。调用子类特有方法test1()时,编译错误。
Animal b=new Animal();
调用的都是父类的方法
0 0
- JAVA中A a = new B()的方法调用问题
- JAVA中A a = new B();什么意思?
- C#中A a=new B()的意义
- C#中A a=new B()的意义
- A a=new B()的意义
- A *a=new B();
- A *a=new B();
- A *a=new B();
- A a = new B();
- java中String的常用方法 1、length() 字符串的长度 例:char chars[]={'a','b'.'c'}; String s=new String(chars);
- Java中a+=b和a=a+b的区别
- Java中a+=b和a=a+b的区别
- java中,a=a+b与a+=b的异同
- 在Java中,关于a=a+b与a+=b的区别
- A ab=new B();
- A *p=new B;
- 关于A a = new B()
- String解析——String s=new String("a");String s = "a" + "b";String的intern方法等问题
- ubuntu apache2 的负载均衡和反向代理
- Mac安装Homebrew
- 常耀俊老师经典《组织级项目管理》课程
- 如何查看局域网里面没有被占用的空闲IP
- sqlHelper
- JAVA中A a = new B()的方法调用问题
- Ubuntu下安装和配置Apache及Apache2
- Python-0(Intro)
- HDU 3605 Escape(最大流+状态压缩)
- ubuntu 12.0.4环境下crosstool-ng 1.18.0编译ARM交叉编译器(Cortex-A8)
- AOJ 2124 Magical Dungeon
- BZOJ 3669 NOI2014 魔法森林 SPFA
- android长按音量减实现静音
- 修改textField的placeholder的字体颜色、大小