抽象,封装,继承,多态
继承:extends关键字表示两个类之间的关系
1.子类继承父类,继承父类中所有的非私有化的属性和方法
2.构造方法不能继承
3.默认编译器提供一个无参的构造,如果显示提供有参的构造则编译器
不会再提供无参的构造
4.子类中的构造方法,默认第一行调用父类构造,父类中如果没有无参
构造则必须显示的在子类构造的第一行调用父类有参构造
5.子类创建对象会递归的调用父类的构造。
6.Java中只能实现单继承,C++中可以实现多继承
在继承关系中可以对父类中的方法进行重新实现,叫方法的覆盖(重写,override)
方法重载与方法重写的区别?
重载(overload):在同一个类中方法名相同参数(类型/个数)不同.
重写(override):在一个子类继承父类的方法时对父类的方法进行的重写.
多态:多中表现形态
行为多态:方法的重载,重写
引用多态:父类的引用指向子类的对象
Animal a = new Student();
封装
1.私有化属性
2.提供公共的访问属性的方法
Getter/Setter
JavaBean规范
3.实体类实现序列化接口
implements Serializable
4.提供equals方法与hashCode方法
Object类是所有类的父类,重写equals方法与hashCode
5.提供重写的toString()
屏蔽底层方法的实现
new关键字
1.在内存中开辟空间,存储创建的对象
2.将创建的对象返回
Student s = new Student();
引用类型变量:存储内存地址的变量
普通基本类型变量:
3.调用构造创建对象的过程中,会将成员变量初始化
初始化为零值
null,0,0.0,\u0000,false
final关键字
最终的
1.final修饰类,这个类是不能被继承的
2.final修饰的方法是不能被重写的
3.final修饰的变量是不可改变的,并且必须在声明的时候初始化
static
静态的
1.static不能修饰局部变量
2.static修饰的是表示在类加载进内存的时候执行,
程序在执行过程中只会执行一次。
3.static修饰的,不依赖对象的产生而产生,是所有对象共享的
4.static修饰类,类是静态内部类
5.static修饰的方法是静态方法,可以直接通过类名调用
静态方法不能调用非静态的属性
静态方法不能调用非静态的方法
6.不能在静态方法中使用this,super关键字
7.static修饰代码块
在类加载进内存的时候执行
常量:
由static和final修饰的public的成员变量,叫常量
常量的名称一般大写表示
把经常需要使用的,不会改变的值定义成常量
return / break
抽象类
由abstract关键字修饰的类是抽象类
可以定义抽象方法
public abstract void eat();
类继承抽象类,必须实现(重写)父类中的所有的抽象方法
抽象类继承抽象父类,可以实现父类中抽象方法
抽可以继承非抽象的普通类
抽象类不能直接(new)创建对象
含有抽象方法的类一定是抽象类
abstract关键字与static不能同时修饰一个方法
abstract关键字与final关键字不能同时修饰一个方法
抽象方法不能用private修饰
接口(interface)
接口是一种很特殊的抽象类
1.接口中定义的都是抽象方法
2.接口中定义的变量都是常量
3.默认接口中提供public abstract
4.接口中定义的成员变量都是常量
不写,默认成员变量 public static final
5.类实现接口,必须实现接口中的所有的方法
6.Java可以通过implements关键字实现多个接口
7.接口可以继承接口
面向对象的特点
原创
©著作权归作者所有:来自51CTO博客作者wx62eb7326068f3的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:HDOJ2064_汉诺塔III
下一篇:Map接口笔记
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章