Java日记(6)

继承的概念:继承的思想就是基于已存在的类构建新类,继承的意义是代码重用,继承在oop(面向对象)中不可或缺。

从其它类导出的类叫子类,被导出的类叫父类,父类更抽象,子类更具体

在Java中,除了object类之外,所有类都是子类,都只有唯一的父类;创建一个类总是在继承,如果直接创建一个类,则他的父类默认是object。

Java语言中,用extends关键字来表示一个类继承了另一个类,如下:

package wang;
class Student
{
	int age;
	String name;
	double score;
	void putS()
	{
		System.out.println("学生你好");
	}
}
class  People extends Student
{
	int temp;
	void eat()
	{
		System.err.println("我是人");
	}
}
public class Test {
	public static void main(String[] args) {
		Student stu1 = new Student();
		People p = new People();
		stu1.putS();
		p.putS();
	}
}

super关键字的特点:

super和this关键字特点类似:super代表的是父类对象的引用;当子父类的成员出现同名时,可以通过super来区分;子类的构造方法中,通过super关键字调用父类的构造方法(经常用在这里)。

 这里有一个比较混乱的概念,关于有参无参的子父类之间是如何调用的推荐以下链接(70条消息) Java继承中父类和子类构造函数的问题_zx33699659的博客-CSDN博客_java中子类继承父类构造函数

关于子父类的访问权限:父类的私有属性和方法是不会继承给子类的。

方法重写是 指子类可以根据需要对从父类继承来的方法进行改写,是多态机制的前奏。注意点:

1、重写方法必须和被重写方法具有相同的方法名称、参数列表和返回值
2、重写方法不能比被重写方法有更严格的访问权限
3、父类中的私有方法,不能被重写
4、在子类重写的方法中继续调用父类被重写的方法可以通过super.函数名获取
package wang;
class Student
{
	int age;
	String name;
	void putS()
	{
		System.out.println("学生你好");
	}
}
class  People extends Student
{
	
	int score;
	public void putS()//第一个(参数、名称)&第二个(权限)
	{
		super.putS();//第四个注意点
		System.out.println("子类:学生你好");
	}
}
public class Test {
	public static void main(String[] args) {
		Student stu1 = new People();
		stu1.putS();
	}
}

如果对父类的私有方法进行重写,则会导致该子类有新建一个与父类同名的方法。即父类中的私有方法不能被重写

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值