Java中面向对象对象三大特征之一的继承的有关知识点,以及具体的实例

继承的概念:
在程序中,继承是描述类与类之间的所属关系

继承格式:
class 子类 extends父类{ }

继承的特点:
1.java中,类只支持单继承,不允许多继承
2.一个类可以被多个类继承()
3.多层继承,有个类的父类可以继承另一个父类
4.子父类的关系是相对的

继承中成员变量的特点
1.只能继承父类非私有化的
2成员变量名字一样,就用子类自己的,名字不同之类没有就用父类的。

继承中成员方法的特点&方法的重写
子类没有方法就用父类

方法的重写:
在子父类中,子类的方法和父类的完全一样(覆盖),
当子类重写父类的方法之后,使用子类调用的就是子类的方法
使用场景:
当父类方法不能完全满足子类时,方法得重写既可以保留父类的功能,又可以让子类有自己的特有的东西
注意事项
不可以重写父类私有的方法
子类的重写权限,必须大于或等于父类
private<defult(默认)<protected

继承中构造方法的执行顺序
1在子类的构造方法中 如果没有调用父类的构造或者子类的构造,系统就会默认调用父类的无参构造。

就近原则:就是谁离的近就用谁
如果有局部变量就用局部变量
如果没有局部变量就先看子类的成员变量
如果子类的成员变量也没有,就看父类的成员变量
super和this用法像,super表示父类。

this和super的区别
this表示当前类的对象引用
调用自己的成员变量
调用自己的成员方法
在构造方法的第一行调用自己的其他方法
super:子类对父类的对象引用
调用父类的成员变量
调用父类成员方法
在子类构造方法第一行调用父类构造的方法

下面来就一个列子给大家演示一下

package gc;
/*分析以下需求,并用代码实现
1.定义项目经理类
属性:
姓名 工号 工资 奖金
行为:
工作work
2.定义程序员类
属性:
姓名 工号 工资
行为:
工作work

3.要求:向上抽取一个父类,让这两个类都继承这个父类,共有的属性写在父类中,子类重写父类中的方法

编写测试类:完成这两个类的测试
*/

public class zy03062 {
public static void main(String[] args) {
manage a=new manage();
conder b=new conder();
a.work();
b.work();
}
}

abstract class baba{
		private String name;
		private String gender;
		private int salary;
		
		public baba() {
			
		}

		public String getName() {
			return name;
		}

		public void setName(String name) {
			this.name = name;
		}

		public String getGender() {
			return gender;
		}

		public void setGender(String gender) {
			this.gender = gender;
		}

		public int getSalary() {
			return salary;
		}

		public void setSalary(int salary) {
			this.salary = salary;
		}

		public void work() {
		System.out.println("努力工作");
}

}
class manage extends baba {
private String nationality;

		public manage() {
			
		}

		public String getNationality() {
			return nationality;
		}

		public void setNationality(String nationality) {
			this.nationality = nationality;
		}

		public void work() {
			System.out.println("经理分配工作");
		}
	}
	
	class conder extends baba{
		public void work() {
			System.out.println("程序员努力工作");
		}
	}

class conder extends baba{}
这串代码中conder是子类
而baba是父类
用extends来链接

public void work() {
System.out.println(“努力工作”);
}

public void work() {
System.out.println(“程序员努力工作”);
}

第二串代码是也第一串是方法的重写,
都是work方法
在方法里面的输出语句必须要写与父类不同的方法
不然就会报错,就不是方法的重写

最后在测试类中进行方法的调用就行咯。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小康康953

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值