static、extends、enum、final、abstract、implement和多态

static访问注意事项:
静态方法只能用静态的成员,不可以直接访问实例成员
实例方法可以访问静态的成员,也可以访问实例成员
静态方法中是不可以出现this关键词的
 

继承(extends)的特点:
1、子类可以继承父类的属性和行为,但是子类不能继承父类的构造器(不能直接访问父类的私有成员,子类不继承父类的静态成员但是可以共享)
2、Java是单继承模式:一个类只能继承一个直接父类
3、Java不支持多继承、但是支持多层继承
4、Java中所有的类都是Object类的子类(Object是祖宗类)

继承后成员的访问特点:就近原则

方法重写:子类写一个与父类申明一样的方法覆盖父类的方法。
@Override:1、重写校验注解 2、提高程序的可读性
方法重写的注意事项:
1、重写方法的名称、形参列表必须和被重写方法的名称一样
2、私有方法不能被重写
3、子类重写父类方法时,访问权限必须大于或等于父类
4、子类不能重写父类的静态方法,如果重写会报错。

子类继承父类后构造器的特点:子类中所有的构造器默认都会先访问父类中无参的构造器,在执行自己的。()

this与super不能出现在同一个构造器内。


同一个包下的类,互相可以直接访问。
不同包下的类,必须先导包才可以访问。(导包格式:import 包名.类名;)
默认只能导入一个类的同名包,另一个需要用全名访问。

权限修饰符 :作用范围从小打到:private>缺省>protected>public

final 关键词:
修饰类,类不能被继承
修饰方法,方法不能被重写
修饰变量,变量只可被赋值一次(基本类型的变量那么数据值不会发生改变;引用类型的地址值不会发生改变,但是地址指向的内容是可以变化的)

常量是使用了public static final 修饰的变量。(命名规则:全英文大写,多个单词用_连接 如:SCHOOL_NAME)

枚举定义格式:
修饰符 enum 枚举名称{
                 第一行都是罗列枚举类实例的名称
}
如: enum Season{
           SPRING,SUMMER,AUTUMN,WINTER;
}

抽象关键字:abstract(只可修饰类跟方法,不能修饰变量和构造器、代码块)
抽象方法只有方法签名,不能声明方法体。如果一个类中定义了抽象方法,这个类必须声明成抽象类,否则报错。
一个类如果继承了抽象类,必须重写完所继承抽象类的全部抽象方法,否则这个类也必须定义为抽象类。
抽象类不能直接创造对象(没有抽象方法也不可以)

abstract 跟 final 是互斥关系。


接口关键字:interface 
定义:public interface 接口名{
             //常量
             //抽象方法
}
接口的注意事项:
1、接口不能创建对象
2、一个类实现多个接口,多个接口中有同样的静态方法不冲突(静态方法只能用接口名调用)
3、一个类继承了父类,同时又实现了接口,父类和接口中由同名方法,默认用父类 
4、一个类实现了多个接口,多个接口中存在同名的默认方法,不冲突,这个类重写这个方法即可
5、一个接口继承多个接口,是没有问题的,如果多个接口中存在规范冲突则不能多继承。

接口的用法:接口是用来被类实现(implements)的,实现接口的类成为实现类。实现类可以理解为所谓的子类。
修饰符 class 实现类 implement 接口1,接口2,接口3,...{
}
实现的关键字:implement。

类与类的关系:单继承
类与接口的关系:多实现
接口与接口的关系:多继承

JDK8开始后接口中新增了三个方法:
默认方法:default修饰,实现类对象调用
静态方法:static修饰,必须用当前接口名调用
私有方法:private修饰,JDK9之后才有的,只能在接口内部被调用

多态:
同类型的对象,执行同一个行为,会表现出不同的行为特征。

常见形式:
父类类型 对象名称 = new 子类构造器;
接口 对象名称 = new 实现类构造器;

成员访问特点:
方法调用:编译看左,运行看右
变量调用:编译看左,运行看左

多态的前提:
有继承/实现关系; 有父类引用指向子类对象;有方法重写。

多态优点:右边对象可以实现解耦合。 
多态缺点:不能使用子类的独有功能。(可以通过强制类型转换解决)
注意:如果转型后的类型和对象真实类型不是同一种类型,会出现ClassCastException错误
因此Java建议强转转换前使用instanceof 判断当前对象的真实类型:变量名 instanceof 真实类型   返回布尔值。  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值