Java继承示例:Father和Son类,重写方法和属性
Java继承示例:Father和Son类,重写方法和属性
本示例演示了Java继承的基本概念,包括父类和子类之间的关系、方法重写和属性覆盖等。
Father.java
public class Father {
private int i;
private int j;
public static String name = 'father';
public void play() {
System.out.println(name + ' like playing basketball.');
}
public static String getName() {
return name;
}
public Father(int i, int j) {
this.i = i;
this.j = j;
}
}
Son.java
public class Son extends Father {
private int k;
public static String name = 'son';
public void play() {
System.out.println(name + ' like playing football.');
}
public static String getName() {
return name;
}
public Son(int i, int j, int k) {
super(i, j);
this.k = k;
}
public static void main(String[] args) {
Father son = new Son(1, 2, 3);
//Son son=new Son(1,2,3); //用该语句替换上一条语句,运行后的结果是?
son.play();
System.out.println(son.name);
System.out.println(son.getName());
}
}
运行Son.java的结果是:
son like playing football. father son
解释:
- Son类继承了Father类,因此Son类拥有了Father类的所有属性和方法。
- Son类重写了Father类的play方法,因此调用son.play()时执行的是Son类中的play方法。
- Son类定义了自己的静态属性name,该属性覆盖了父类中的同名属性。
- son.name访问的是Son类中的静态属性,而son.getName()访问的是Father类中的静态方法,该方法返回的是Father类的静态属性name。
结论:
通过本示例可以理解Java继承的基本概念,以及方法重写和属性覆盖的具体实现方式。
相关概念:
- 继承
- 父类
- 子类
- 方法重写
- 属性覆盖
- 静态属性
- 静态方法
原文地址: https://www.cveoy.top/t/topic/bcy7 著作权归作者所有。请勿转载和采集!