代码实现
首先创建一个父类
package com.继承;
public class Person {
private String name;
private Integer age;
public Person() {
}
public Person(String name, Integer age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
创建一个子类 并且继承父类,继承父类 就拥有父类的全部属性和方法 并且自己也有自己独有的方法
package com.继承;
public class Student01 extends Person{//学生类继承人 这个类 就拥有人这个类的全部属性和方法
//子类自己独有的方法
public void study(){
System.out.println("学生学习");
}
}
测试类
package com.继承;
public class Test {
public static void main(String[] args) {
Student01 student01 = new Student01();//创建一个子类对象
//子类调用父类的方法
student01.setName("zhongy");
student01.setAge(15);
//子类自己独有的方法
student01.study();
System.out.println(student01);
}
}
继承的好处
- 实现了代码的复用性
- 提高了代码的维护性
继承的弊端
- 让代码之间有了很高的耦合性
变量的访问特点
this关键字
父类中的属性
public class Person {
private String name;
private Integer age;
public int anInt=100;
子类中的属性
public int anInt=50;
//子类自己独有的方法
public void study(){
int anInt=10;
System.out.println(anInt);
System.out.println("学生学习");
}
测试
-
//子类自己独有的方法 public void study(){ int anInt=10; System.out.println(anInt); System.out.println("学生学习"); }
- 调用子类输出的是anint是10
-
public int anInt=50; //子类自己独有的方法 public void study(){ int anInt=10; System.out.println(this.anInt); System.out.println("学生学习"); }
- 输出的是50
super关键字 ,调用的父类中的属性
//子类自己独有的方法 public void study(){ int anInt=10; System.out.println(super.anInt); System.out.println("学生学习"); }
输出的是100,