- class Collection_Test
- {
- public static void main(String[] args)
- {
- Person p=new Son_1("234");//1 父类引用指向子类对象,调用的是带参数的构造函数,p的成员变量name发生改变,由原来的123变成234
- Son_1 son=new Son_1("234");//2 调用的还是带参数的构造函数
- System.out.println(p.get());//3 p调用person类的get方法,其实传进去的实参就是234
- System.out.println(p.name);//4 p的成员变量name发生改变,由原来的123变成234
- System.out.println(son.get());//5 调用从person类继承来的get方法,返回的是构造函数里传入的参数
- Person p3=new Person();
- System.out.println(p3.name);//重新创建对象,直接返回成员变量的值
- }
- }
- class Person
- {
- String name="123";
- int age;
- Person(){}
- public String get()
- {
- return name;
- }
- }
- class Son_1 extends Person
- {
- Son_1()
- {
- super();
- }
- Son_1(String name)
- {
- this.name=name;
- }
-
- }
复制代码 希望能帮到楼主 |