继承的概念:
java继承是面向对象的最显著的一个特征。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。
继承的特性:
1.子类继承父类非PRivate修饰的属性与方法
2.子类可以重写父类的方法
3.子类可拥有自己的属性与方法
4.子类不会继承父类的构造器
5.子类不能覆盖继承的实例变量
6.子类通过super关键字调用隐藏的父类方法
package cn.jontim.blogs.example;/*  * Java SE 面向对象之继承 * 交通工具类 */public class Vehicle {	//价格	public String price;	//制造商	public String manufacturer;	//速度	public String velocity;		public void outStatement(){		System.out.println("我是一个交通工具~");	}		public void outManufacturer(){		System.out.println("我的制造厂商是:"+manufacturer);	}}package cn.jontim.blogs.example;/* * Java SE 面向对象之继承 * 汽车类 */public class Car extends Vehicle{}在Cat类中没有自定义任何属性与方法,全部使用从父类继承来的方法public class MainEntrance {	public static void main(String[] args){		//子类继承父类非private的属性与方法		System.out.print("Cat:");		Car car = new Car();		car.manufacturer = "BMW";		car.outStatement();		car.outManufacturer();	}}输出结果:Cat:我是一个交通工具~                 我的制造厂商是:BMW
子类继承父类非private修饰的全部属性与方法package cn.jontim.blogs.example;/* * Java SE 面向对象之继承 * 飞机类 */public class Aircraft extends Vehicle{	public void outStatement(){		System.out.println("我是一架飞机~");	}	//子类调用隐藏的父类方法	public void outSuper(){		super.outStatement();	}}public class MainEntrance {	public static void main(String[] args){		//子类可重写父类的方法		System.out.print("Aircraft:");		Aircraft aircraft = new Aircraft();		aircraft.outStatement();		aircraft.outSuper();	}}输出结果:Aircraft:我是一架飞机~                 我是一个交通工具~子类可以重写继承于父类的方法,重写的父类方法会默认隐藏子类可以用过super关键字调用隐藏的父类方法
package cn.jontim.blogs.example;/* * Java SE 面向对象之继承 * 火车类 */public class Train extends Vehicle{	//长度	public int length = 200;	public void outLength(){		System.out.println("我的长度是"+length+"米~");	}}public class MainEntrance {	public static void main(String[] args){		//子类拥有自己的属性和方法		System.out.print("Train:");		Train train = new Train();		train.outStatement();		train.outLength();	}}输出结果:Train:我是一个交通工具~                 我的长度是200米~子类可以拥有自己的属性与方法
package cn.jontim.blogs.example;/*  * Java SE 面向对象之继承 * 交通工具类 */public class Vehicle {	//价格	public String price;	//制造商	public String manufacturer;	//速度	public String velocity;		public void outStatement(){		System.out.println("我是一个交通工具~");	}		public void outManufacturer(){		System.out.println("我的制造厂商是:"+manufacturer);	}	//构造方法	public Vehicle(String price){		this.price = price;	}}package cn.jontim.blogs.example;/* * Java SE 面向对象之继承 * 汽车类 */public class Car extends Vehicle{	public Car(){		//子类构造方法第一行必须调用父类构造方法		super("1000");	}}子类声明实例对象时默认会调用父类的默认构造方法,如果父类没有默认构造方法时,需要在子类的构造方法中第一行调用父类的构造方法
新闻热点
疑难解答