一、继承
final关键字
使用final关键字坐标识有“最终的”含义
final可以修饰类、方法、属性和变量
final修饰类、则该类不允许被继承
final修饰方法、则该方法不允许被覆盖
final修饰属性 则该类的属性不会进行隐式的初始化或在构造方法中赋值
final 修饰变量。则该变量的值只能赋值一次、即变为常量。
super关键字:
在对象的内部使用,可以代表父类对象
1、访问父类的属性 super.age();
2、访问父类的方法 super.eat();
toString()方法;
equal()方法;比较对象是否是同一个对象;
父类的引用是可以指向子类的;
二、抽象类
应用场景:
a、在某些情况下、某个父类只是知道其子类应该包括怎样的方法,但无法准确知道这些
子类如何实现这些方法。
b、从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类作为子类的模板,从而避免了
子类设计的随意性。
作用:限制规定子类必须实现某些方法,但不关注实现细节。
使用规则:
a、abstract定义抽象类
b、abstract定义抽象类方法,只有声明,不需要实现
c、包含抽象方法的类是抽象类
d、抽象类可以包含普通的方法,,也可以没有抽象方法。
e、抽象类不能直接创建,可以定义引用变量。
接口:
接口定义的基本语法:
[修饰符]interface 接口名[extends 父接口1,,父接口2....]
{
零个到多个常量定义。。。
零个到多个抽象方法的定义。。。
}
接口就是用来被继承、被实现的,修饰符一般建议用public
主意:不能用private和protected修饰接口;
接口定义:
常量:接口中的属性是常量,即使定义是不加上public static final修饰符,,
系统也会自动加上。
方法:接口中的方法只能是抽象方法,总是使用,即使定义时不添加public absract修饰符,
系统也会自动加上。
使用接口:
一个类可以实现一个或多个接口,实现接口使用implements关键字。Java中一个类只能继承一个父类
,是不够灵活的,通过实现多个接口可以做补充。
继承父类实现接口的语法为:
[修饰符] class 类名 extends 父类 implements 接口一,接口2.。。
{
类体部分//如果继承了抽象类,需要实现继承的抽象方法:要实现接口中的
抽象方法;
}
如果要继承父类,继承父类必须在实现接口之前;
使用接口:
接口在使用过程中,还经常与匿名内部类配合使用
匿名内部类就是没有名字的内部类,多用于关注实现而不关注实现类的名称。
语法格式:
Interface i=new Interface(){
public void method(){
System.out.println("匿名内部类实现接口的方式");
}
};
final关键字
使用final关键字坐标识有“最终的”含义
final可以修饰类、方法、属性和变量
final修饰类、则该类不允许被继承
final修饰方法、则该方法不允许被覆盖
final修饰属性 则该类的属性不会进行隐式的初始化或在构造方法中赋值
final 修饰变量。则该变量的值只能赋值一次、即变为常量。
super关键字:
在对象的内部使用,可以代表父类对象
1、访问父类的属性 super.age();
2、访问父类的方法 super.eat();
toString()方法;
equal()方法;比较对象是否是同一个对象;
父类的引用是可以指向子类的;
二、抽象类
应用场景:
a、在某些情况下、某个父类只是知道其子类应该包括怎样的方法,但无法准确知道这些
子类如何实现这些方法。
b、从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类作为子类的模板,从而避免了
子类设计的随意性。
作用:限制规定子类必须实现某些方法,但不关注实现细节。
使用规则:
a、abstract定义抽象类
b、abstract定义抽象类方法,只有声明,不需要实现
c、包含抽象方法的类是抽象类
d、抽象类可以包含普通的方法,,也可以没有抽象方法。
e、抽象类不能直接创建,可以定义引用变量。
接口:
接口定义的基本语法:
[修饰符]interface 接口名[extends 父接口1,,父接口2....]
{
零个到多个常量定义。。。
零个到多个抽象方法的定义。。。
}
接口就是用来被继承、被实现的,修饰符一般建议用public
主意:不能用private和protected修饰接口;
接口定义:
常量:接口中的属性是常量,即使定义是不加上public static final修饰符,,
系统也会自动加上。
方法:接口中的方法只能是抽象方法,总是使用,即使定义时不添加public absract修饰符,
系统也会自动加上。
使用接口:
一个类可以实现一个或多个接口,实现接口使用implements关键字。Java中一个类只能继承一个父类
,是不够灵活的,通过实现多个接口可以做补充。
继承父类实现接口的语法为:
[修饰符] class 类名 extends 父类 implements 接口一,接口2.。。
{
类体部分//如果继承了抽象类,需要实现继承的抽象方法:要实现接口中的
抽象方法;
}
如果要继承父类,继承父类必须在实现接口之前;
使用接口:
接口在使用过程中,还经常与匿名内部类配合使用
匿名内部类就是没有名字的内部类,多用于关注实现而不关注实现类的名称。
语法格式:
Interface i=new Interface(){
public void method(){
System.out.println("匿名内部类实现接口的方式");
}
};