java面向对象总结.ppt
文本预览下载声明
内部类 成员内部类:可以访问外部类的成员变量 Outer.Inner inner = new Outer( ).new Inner( ); 静态内部类:可以定义静态的成员变量(一般的内部类则不行) Outer.Inner inner = new Outer.Inner( ); 方法内部类:有限制,所定义的内部类只能在当前方法中被使用 Java的文档注释 /** */ javadoc产生命令 类的继承extends 父类的成员变量直接拿来用 父类的成员方法直接拿来用 父类的成员方法可以重写 子类可以增加新的成员变量和成员方法 子类只能继承自一个父类 super关键字 super.成员变量 super.成员方法 super.构造方法(只能在构造方法中调用,位于第一行,只能出现一次) 子类的构造方法中一定会调用父类的某个构造方法,如果都不指明,默认调用父类无参的构造方法 final 关键字 修饰类:类不能被继承 修饰方法:不能被子类重写 修饰变量(成员变量和局部变量):常量,第一次必须赋值,以后不能修改值 抽象方法:没有方法体(没有方法的实现) 抽象类: 包含抽象方法的类必须声明为抽象类 抽象类中可以包含非抽象方法 抽象类不能被实例化,不能用new 抽象类被继承extends,所有的抽象方法在子类中实现后,才可以用子类new创建子类的实例 接口interface 是一种特殊的抽象类(所有方法都是抽象方法public abstract) 接口不能实例化,不能new 需要定义类,用implements实现接口中所有的方法,然后才可以new创建实例 interface A extends B interface A extends B, C class A implements B, C class A extends B implements C 接口中的变量是全局变量public static final, 直接用接口名加上. 多态 多态:在同一个方法中,由于参数类型不同,而导致执行效果各异的现象 interface Animal, class Cat, class Dog shout()是接口所定义的抽象方法 Cat cat = new Cat(); Dog dog = new Dog(); void fun(Animal an){ an.shout(); } fun(cat); Animal an = new Cat(); Cat对象当作Animal类型使用 Animal an = new Dog(); Dog对象当作Animal类型使用 fun(an); Cat cat = (Cat) an; Dog不能转换为Cat 布尔值 an instanceof Cat 判断某个对象是否为某个类的实例 Interface PCI, class NetworkCard, class SoundCard public void usePCICard(PCI p){ p.start(); p.stop(); } NetworkCard nc = new Network(); mb.usePCICard(nc); // SoundCard sc = new SoundCard (); mb.usePCICard(sc); // 匿名内部类 interface Shape{ void area(); } public void fun1(Shape s){ } public void fun2( ){ fun1( new Shape( ){ public void area(){ } }); } 继承中的常见问题 如果为一个类写了一个带参数的构造方法,那么默认的无参构造方法将不可用! 如果在子类的构造方法中没有通过super调用父类的某个构造方法,在子类实例化时则会自动调用父类的无参构造方法! 类与.java文件 标准的做法:一个.java文件中实现一个类,类名与文件名一致 一个.java文件中可以实现多个类,但只能有一个public class,public class的类名与文件名一致 建议在一个.java文件中,测试类为public class,其余的类都为class 掌握异常运行的原理,会写程序的运行结果 try….catch try….catch….finally 让IT教学更简单,让IT学习更有效 类的定义 成员变量 成员方法 构造方法(构造方法的重载:不同的参数类型或个数;如果定义了有参的构造方法,那么无参的默认构造方
显示全部