Java学习心得2024.01.31

一、类的继承

1.概念:子类通过继承可以获得父类的属性和方法,被继承的类叫父类(基类,超类),继承的类叫子类(派生类)。即父类包含子类,例如大学生是学生类,猫咪是动物类。

2.子类继承父类的格式

//首先定义父类(学生类)

public class Student{

//属性

//private表示私有属性,即只能在这个类里用,通过对象不能调用私有属性

private String name;

//不过可以通过方法调用,如下所示:

//方法

//(调用set方法给name属性复制)

public void setName(String n){

name =n;

}

//调用get 方法,使外部能够使用name 属性

public String getName(){

//返回值类型是String ,所以要返回数据用关键词return

return name;

}

//普通方法

public void study(){

System.out.println(name+"正在学习!");

}

//

定义子类(大学生类)并继承(只能一个)父类(单继承)[关键词:extends]即:public class 子类 extends 父类{

}

多个子类可以继承同一个父类,多层继承也是可以的:一个类的父类可以再去继承另外的父类,例如儿子继承父亲,然后父亲继承爷爷,然后儿子也能称为是爷爷的子类

继承父类之后也能继续加接口,格式为:public class子类 extends  父类 implements 接口,另一个接口,,{

/ /

public class UNstudent extends  Student {

public void printName(){

System.out.println("名字"+getName() );

}

3.方法重写(当父类中的方法不能满足子类的需要,需要对父类方法进行调整时,要进行方法重写)

//条件:1.有继承关系的两个类之间2.返回值类型,方法名,参数类型(个数顺序)完全一致,访问修饰符类型大于等于父类

public void study(){

//保留父类的功能(调用父类方法)

//super表示当前类的父类的对象

super.study();

//自定义新功能
System.out.println("子类重写父类方法");

}

}

//测试类(加了主函数)

public class Manage{

public static void main (String[] args){

//创建子类对象

UNstudent un =new UNstudent();

un.setName("李华");//子类可以继承(所有同包的)父类的方法和属性(除私有),所以可以通过子类对象直接父类的方法和属性

un.study;

4.自动转型(向上)

A a=new B();//B是子类,A是父类,子类转型成为了父类

Student unt =new UNstudent();

un.setName("李华");

un.study;//优先调用子类的方法,因为创建的是子类对象

//自动转型后该对象只能调用子类中重写的方法,因为转到了父类,所以要先从父类中找到方法,然后再看子类中有没有重写该方法,如果没有就调用父类的方法

//如果想调用子类中自己的方法(即没有重写的方法)可以强制转型(向下)

//自动转型(调用一个方法,这个方法的参数类型不一定要是他本身类的参数类型,他本类的参数类型也行)

//如下所示

Teacher t=new Teacher();

t.teacher(unt);//unt虽然是UNstudent 的对象,但是他是Students的子类所以也可以调用这个方法

}

}

//Teacher类

public class Teacher {

public void teacher (Student s){

s.study();

}

}

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值