继承的实现

使用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实现,而且接口是可以多实现的

要调用接口内的全局常量,必须使用 接口名.常量名 的方式来调用,因为借口是一个特殊的类
posted on 2017-04-18 11:01  NE_STOP  阅读(1)  评论(0编辑  收藏  举报  来源