面向对象(封装,继承,多态)->小总结
(上)
1,类与对象:(成员及局部,的变量方法)
创建对象:类名 对象名称=new 类名();
对象引用.对象成员
空引用则为垃圾对象,且报错回收
类的封装:定一个类时,将类中的属性设为私有,并提供共有的set和get方法给外界调用
2,构造方法:实例化对象时同时为对象的属性赋值。
条件:1,方法名于类名相同2,不能有返回值
3,构造方法重载:参数不同,参数类型不同即可
4,this关键字:方法中访问对象的其他成员
5,static(静态)关键字,也叫,共享
6,内部类
1,成员内部类( 1,在成员内部类中可以访问外部类的所有成员
2,通过外部类访问内部类,则需通过外部类对象去创建内部类对象
外部类.内部类 变量名=new 外部类().new内部类(); )
2,静态(static)内部类( 在不创建外部类对象的情况下被实例化
外部类.内部类变量名=new 外部类.内部类();
**注意**:1,在静态内部类中只能访问外部类的静态成员
2,只能在静态类中或静态内部类中定义静态的成员)
3,方法内部类( 指在成员方法中定义的类,它只能在当前方法中被使用)
(下)
继承
final关键字:而不能,一赋初值
1.抽象类:定义一个类及方法,但有些方法实现方式无法确定。
1-1抽象方法:不包含方法体的方法。关键字abstract。当一个类包含抽象方法,则此类得加上abstract修饰,成为抽象类。
注意:_1,包含抽象方法的类,必须为抽象类,但该类可以不包含抽象方法。_2抽象类不可以被实例化,用子类继承可以实现抽象方法。
2,接口:一个类中的所有方法都是抽象的,用关键字interface声明。接口中的方法默认用public abstract修饰,变量默认用public static final修饰。
_1,接口中的方法为抽象方法,不能被实例化,需要定义一个类,并使用implements实现接口中的方法。
_2,一个类可以实现多关接口,用逗号隔开。
_3,一个接口可以继承多个接口,用逗号隔开。
3,多态:在方法中设置不同的参数,实现不同的效果。
_1,为实现多态,使用父类类型的变量来引用子类类型的对象。根据引用对象的不同,实现不同的效果。
4,对象的类型转换
if(animal instanceof Cat){…
}else{…}
5,匿名内部类:在多态中,方法的参数定义为接口类型1,用一个类实现接口2,用匿名内部类实现
new 父类(参数列表)或 父接口(){
匿名内部类的实现部分}
6,异常
1, try…catch
2, try…catch…finally
3, throws
4, 自定义异常:自定义的异常类必须继承自Exception或其子类,
用法:throw Exception 异常对象