父类属性和子类属性同名

上转型中:

1. 如果父类中的属性和子类的属性同名的时候,  父类对象认为认为子类的属性是特有的  , 父类定义的对象只调用自己的属性。

2.即是当父类属性和子类属性同名时, 父类对象名 调用的就是  父类的属性,子类的对象名 调用的就是 子类的属性。

3.  如果父类的方法和子类方法同名时,在上转型关系中,父类的引用指向子类的实体 ,父类的对象调用的是子类的方法。但是要注意,此时父类的对象名不能调用子类特有的方法,如果要调用,则需要下转型。

父类:

```java

package com.qf.demo6;

public class Test {

public static void main(String[] args) {

Person  person = new Person();

Student student = new Student();

Person person2 = new Student();

person2.eat();//父类的引用指向 子类的实体    父类的对象调用的是子类的方法

System.out.println(person2.name);

System.out.println(person2.age);

Student student2 = (Student) person2;

System.out.println(student2.name);

System.out.println(student2.age);

// 父类对象名 调用的就是  父类的属性

// 子类的对象名 调用的就是 子类的属性

/**

*  父类的 属性和 子类属性同名 . 父类调用父类的

*  子类重写了  弗雷德分昂发        父类对象调用的是子类的方法

*/

}

}

```

Student类

```java

package com.qf.demo6;

public class Student extends Person{

String name = "zzz";

int age = 1;

String  sex= "女";

@Override

public void eat() {

System.out.println("学生吃肉");

System.out.println(name);

System.out.println(super.name);

System.out.println(super.age);

}

public void eat1() {

System.out.println("学生dd吃肉");

}

}

```

Person类

```java

package com.qf.demo6;

public class Person {

String name="abc";

int age= 9;

public void eat(){

System.out.println(name);

System.out.println("吃");

}

}

```

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,765评论 18 399
  • 上转型中: 如果父类中的属性和子类的属性同名的时候, 父类对象认为认为子类的属性是特有的 , 父类定义的对象只...
    xiaoliman阅读 3,935评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,923评论 18 139
  • 经过十几天的写作,分享了不少个人的生活与心情。这几天发现都不知道该写些什么了。果然还是输入太少了,没看什么书也没学...
    露影晨夕阅读 385评论 0 0
  • 五绝 袁冠南 天子重英豪,文章教尔曹。万般皆下品,唯有读书高。
    Jcomey阅读 288评论 0 1