java继承构造规则_java 面向对象 --继承

继承 关键词(extends)还有延伸扩展之意,表示在基础上进行扩展,基类的表示父类,扩展的表示子类。

好处:解决了代码冗余,是实现代码重用,增加了软件的扩充性。

语法格式: Java 只支持单继承。

访问修饰符 class 子类 extends 父类 { }

访问修饰符如果是public 在整个项目中可以访问,如果不写该类只能在包内可见。

子类可以从父类中继承的内容:

1、可以继承父类中public 和 protected 修饰的属性和方法,不论子类和父类是否在同一个包里

2、如果子类和父类在同一个包里,可以继承默认访问修饰符修饰的属性和方法

3、无法继承父类的构造方法,可以在子类中通过 super() 进行调用

子类调用父类方法:

1、通过super 访问父类构造方法,属性,方法

//访问父类构造方法super(参数)

//例子public ErHa(String name,int age,String weight) {

super(name,age); //调用父类有参构造方法 this.weight =weight;

}

tt

//访问父类方法或属性super.父类方法

//子类中的方法 public void showTest() {

//父类中的方法 属性 super.showPrint1("er");

super.name = "obge";

}

2、super与this

this用于 在成员变量与局部变量名称相同的时候,通过this.成员变量进行引用。

super 用于子类中访问父类的构造方法,方法和变量,但是private 修饰的不能访问

3、实例化子类

使用继承之后,实例化子类,可以通过子类对象名访问父类方法

调用步骤:

子类实例化首先执行父类的构造方法,然后执行子类构造方法,Java虚拟机在实例化子类对象时按照从父类到子类的步骤执行

规则:

1、如果写了有参构造方法,就不会自动生成无参构造方法,所以如果父类写了有参构造方法,没有写无参构造方法,实例化子类会报错

2、如果父类没有写构造方法,这时实例化子类没事

3、如果子类通过super 显示调用父类有参构造方法,那么就不会执行父类无参构造方法

//例子//头头package com.obge.obj;

public class Person {

String name;

public Person(){

System.out.println("执行Person无参");

}

public Person(String name){

this.name =name;

System.out.println("执行Person有参");

}

}

//父类package com.obge.obj;

public class Student extends Person {

String school;

public Student() {

System.out.println("执行stu无参");

}

public Student(String name,String school) {

//调用父类方法 super(name);

this.school =school;

System.out.println("执行stu有参");

}

}

//最小package com.obge.obj;

public class SmallStu extends Student{

String teacher;

public SmallStu() {

System.out.println("执行SmallStu无参");

}

public SmallStu(String name,String school,String teacher) {

//调用父类方法 super(name,school);

this.teacher =teacher;

System.out.println("执行SmallStu有参");

}

}

重要

1、Object 所有类的父类。所有的Java类都直接或间接继承了java.lang.Object

没有写extend关键字的类,Object 是这个类的直接父类,object常用重要方法

2、super与this

this用于 在成员变量与局部变量名称相同的时候,通过this.成员变量进行引用。

super 用于子类中访问父类的构造方法,方法和变量,但是private 修饰的不能访问

3、方法重写

定义:对从父类继承的方法进行重新编写,称为方法重写或方法覆盖(Overriding)

要求:

a、重写的方法名与被重写的方法名相同

b、重写的方法与被重写的方法,具有相同的参数列表

c、重写的方法的返回值类型与被重写的方法的返回值类型相同

d、重写的方法不能将被重写的方法的访问权限缩小

总结:方法重写,在父子类中,子类可重写方法名,参数列表和返回值类型相同的方法,但不能缩小父类方法的 访问权限

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值