Java继承

继承语法

在java中,实现继承的关系,通过下面语法来完成`

class 子类  extends 父类{}

理解继承

子类继承了父类的什么

构造方法虽不能被继承,但可以被调用

继承基本实现

public class Person {
	private String name;//姓名
	private int age;//年龄
	public void setName(String name) {
		this.name=name;
	}
	public String getName() {
		return name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	

}
public class Student extends Person {//Student是子类
//没有定义任何功能
}
public class JavaDemo {
	public static void main(String[] args) {
		Student stu=new Student();
		stu.setName("赵子龙");
		stu.setAge(20);
		System.out.println("name:"+stu.getName()+"\nage:"+stu.getAge());
	}

}

实现效果如下:
在这里插入图片描述

继承限制

1.单根继承
一个子类只能继承一个父类。在java中不允许子类继承多个父类
2在一个子类继承一个父类时,会继承父类的所有操作(属性,方法),但是
对于private所修饰的成员,只能使用set/get进行操作。

方法重写

在类结构中,子类可以继承父类中的全部方法,当父类某些方法无法满足子类设计需求是,就可以针对已有的方法进行扩充,那么此时在子类中定义与父类中除方法体外,其它都相同的方法时,称为方法重写

方法重写基本实现代码如下:

public class Person {
public void eat() {
		System.out.println("我是人,我会吃饭");
	}
	

}
public class Student extends Person {
	
	public void eat() {
		System.out.println("我是一名学生,我会吃饭");
	}

}
public class JavaDemo {
	public static void main(String[] args) {
	stu.eat();
	}

}

实现下过如下图:
在这里插入图片描述

方法重写限制

父类方法定义private时,子类无法重写此方法。

向上向下转型

向上转型:子类向父类转换
向下转型:父类向子类转换
代码实现:

public class Person {
	public void run() {
		System.out.println("快跑啊");
	}

}
public class Superman extends Person {
	public void fly() {
		System.out.println("空中飞行");
	}
	public void fire() {
		System.out.println("吃我激光");
	}

	

}
public class JavaD {
	public static void main(String[] args) {
		System.out.println("妖怪来了");
		Person per =new Superman();//此时超人是一个人,向上转型
		per.run();//调用人的跑步功能,此时没有特异功能,要跑
		Superman spm=(Superman) per;//向下转型,强转为子类。变身超人
		spm.fly();
		spm.fire();
		
	}

	
}

运行结果:
在这里插入图片描述
本程序子类利用对象向上转型为了父类对象,此时Person类只能调用本类和父类的方法,如过需要调用子类扩充的方法,就要向下转型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值