栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

继承学习笔记

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

继承学习笔记

1.关键字:extends

作用:可以让一个类和另一个类建立起继承的关系;

范例:public class 类名 extends 类名{}

第一个类名:自己的文件名 (也称为子类) 等二个类名:你要继承的父类名字(也称为父类)

2.继承特点:

Java支持单继承,不支持多继承, 但支持多层继承

​ 单继承:一个子类只能继承一个父类

​ 不支持多继承:子类不能同时继承多个父类

​ 支持多层继承:子类A 继承 父类B,父类B 可以继承 父类C(就如同现实中的祖孙三代这样的关系)

​ 父类C 对于 子类A 属于间接父类,父类B 对于 子类A 属于直接父类

3.继承中子类无法继承父类的构造方法,子类要向父类传参需要用到super关键字

//父类Pet
public class Pet{
	
	public String name;
	public String sex;
	
 	 //构造方法
	public Pet(String name){
		this.name = name;
	}
	
	public void eat(){
		System.out.println(name+"宠物吃东西");
	}
	
}

//子类 Dog
public class Dog extends Pet{
	public String hair;
	
	public Dog(String name){
		super(name);//调用父类构造器  并传参给父类
	}
	
	public void look(){
		System.out.println("狗看家");
	}
	

//子类 Cacuts
public class Cactus extends Pet{
	
	public String stub;
	
	public Cactus(String name){
		super(name);
	}
	
	public void flower(){
		System.out.println("开花结果");
	}
	

//测试类
public class Test{
	public static void main(String [] args){
		 Dog d = new Dog("小白");
		 d.sex = "公狗";
		 d.hair = "黑毛";
		
		 Cactus ca = new Cactus("大黄");
		 ca.sex = "无";
		 ca.stub = "扎人的刺";
		
		 d.eat();
		 d.look();
		 ca.eat();
		 ca.flower();

	}
}

4.关键字--abstract (抽象) : 抽象父类的作用是约束子类必须完成这个方法,抽象类无法实例化(即 不能对其进行new创建对象)

多态--重写

子类中和父类具有相同的方法时 ,子类重写父类中的方法,优先执行子类中的方法

方法名一样,参数一样,返回类型一样,方法体不一样。

父类中的方法原型在子类中完成

5.多态--向上转型 和 向下转型

向上转型:

Pet pt = new Dog("大红");
System.out.println(pt);

//向上转型范例  跟上面的一个父类和二个子类一起运行
public class PetTest{
	//传入父类
	public void work(Pet pet){
		pet.eat();
	}
	public static void main(String[]args){
		Dog dog = new Dog("大红");
		dog.gender="公";
		dog.hair="金毛";
		PetTest pt = new PetTest();
		pt.work(dog);
    

向上转为大类,放弃一切个体特征,比如去澡堂子脱掉衣服,大家都一样

父类引用指向子类对象,子类对象独有的方法,特征被隐藏,共有的才会显示出来

Pet pt = new Dog();

向上转型的时候,父类

做参数的都是父类,塞进去的都是子类

向下转型:

Pet pt = new Dog("大红");
Dog dog = (Dog)pt;
dog.look();

向下转为个体,穿上衣服获得个体特征

Dog dog = (Dog)pt;

6.不能被继承的父类成员:

一、private

二、子类与父类在不同包

三、构造方法

7.权限:

public: 公共权限:被public修饰 的成员,可以在任何一个类中被调用,不管同包或不同包 ,是权限最大的一个修饰符。

private: 私有权限:被private修饰 的成员,只能在定义它们的类中使用,在其他类中不能调用

default: 默认权限(包权限):默认权限即同包权限,同包权限的元素只能在定义它们的类中,以及同包的类中被调用

protected: 受保护权限:

8.关键字final

final:是最终变量的意思,只可以用不可以改(全小写)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1032080.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号