java继承

来源:互联网 发布:景观大数据素材库 编辑:程序博客网 时间:2024/06/15 14:41

继承的实现

使用extends关键字完成继承class 子类 extends 父类{}java中只允许单继承,但可以多层继承子类不能直接访问父类的私有成员,可以通过get()或set()来访问在子类对象实例化之前,必须先调用父类中的构造方法,之后再调用子类的构造方法

方法的重写

在继承中,也存在着重写的概念,其实就是子类定义了和父类同名的方法

定义:方法名相同,返回值类型相同,参数也相同

‘super’关键子,在子类中调用父类被重写的方法
class A{
public void tell() {
System.out.print(“我是tell方法”);
}
}
class B extends A{

public void tell() {    super.tell();//调用父类的tell方法    System.out.print("我重写了tell方法");    }}public class text01_2 {public static void main(String[] args) {    // TODO Auto-generated method stub    B b=new B();    b.tell();    }}

重写限制:被子类重写的方法不能拥有比父类方法更加严格(访问权限更小,基本上是一样的访问权限)的访问权限

访问权限

private(封装时用,只能在当前类访问)<default(只能在当前包下访问)<public(整个工程都可以访问)

super

强行执行父类的方法,父类先执行,再执行子类

重写与重载

定义不同,    重写:方法名、参数、返回值全部相同    重载:方法名相同,参数的个数或者类型不同权限:    重写:被子类重写的方法不能拥有比父类方法更加严格的权限    重载:对权限没有要求范围:    重写:发生在继承中    重载:发生在一个类中

final关键字

final关键字在java中被成为完结器,表示最终的意思
final能声明类、方法、属性

使用final声明的类不能被继承使用final声明的方法不能被重写使用final声明的变量变成常量,常量是不可以被修改的 

抽象类

概念:包含一个抽象方法的类就是抽象类,必须用abstract声明

抽象方法

声明而未被实现的方法,抽象方法必须使用abstract关键字声明

继承抽象类

抽象类被子类继承,子类(如果不是抽象类)必须重写抽象类中的所有抽象方法

定义格式

abstract class className{    属性    方法    抽象方法}

抽象类不能直接实例化,要通过子类进行实例化

接口

借口可以理解为一种特殊的类,里面全部是由全局常量(public static final int AGE=100;)和公共的抽象方法所组成

格式:

类继承接口的方式interface interfaceName{    全局常量    抽象方法}interface inter{public static final int AGE=100;public abstract void tell();}借口继承接口的方式inerface A extends B,C,D{}//A\B\C\D都是接口

接口的实现也必须通过子类,使用implements实现,而且接口是可以多实现的

要调用接口内的全局常量,必须使用 接口名.常量名 的方式来调用,因为借口是一个特殊的类
0 0
原创粉丝点击