首页 > 编程 > Java > 正文

Java SE 面向对象之继承

2019-11-06 07:26:18
字体:
来源:转载
供稿:网友

继承的概念:

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");	}}

子类声明实例对象时默认会调用父类的默认构造方法,如果父类没有默认构造方法时,需要在子类的构造方法中第一行调用父类的构造方法


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表