继承中关于方法重写和属性重写(覆盖)的分析

Java语言中,子类继承父类的方法和属性。如果不进行重写,那么子类就直接使用父类的属性和方法。如果子类对父类的属性和方法进行了重写(也就是对属性 和 方法进行了重新的定义),那么子类就会保存两份属性和两个方法。程序可以通过子类对象访问这两个属性(父类对象的属性,子类对象的属性);程序也可以通过子类对象调用两个方法(父类对象的方法,子类对象的方法)。

下面是代码示例:

(一)父类:AutoMobile.java

public class AutoMobile {
	int numberOfWheel;
	int numberOfDoor;
	int numberOfSites;
	String name;
	
	void drive(){
		System.out.println("父类的drive()方法");
	}
	void start(){
		System.out.println("父类启动");
	}
	void stop(){
		System.out.println("父类关闭");
	}
}

( 二)子类:Car.java

public class Car extends AutoMobile{

	String name; //小汽车车子的名字,重写的name属性
	int carTrunk;
	//重写了start()方法
	void start(){
		System.out.println("子类start()方法");
	}
	void autoDrive(){
		System.out.println("自动驾驶");
	}
}

(三)测试类InheritTest.java

通过创建一个Car对象,然后访问父类和子类属性,调用父类和子类方法

public class InheritTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Car car = new Car();
		
		//给子类对象的name属性赋值
		car.name = "吉利牌小汽车";
		//给子类对象中的父类属性赋值
		((AutoMobile)car).name = "交通工具";
		
		System.out.println(car.name);
		System.out.println(((AutoMobile)car).name);
		
		//调用子类对象的方法start
		car.start();
		//调用子类对象中的父类方法start
		((AutoMobile)car).drive();
	}
}

 

(四)执行结果

 

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页