DAY3

来源:互联网 发布:js object 添加属性 编辑:程序博客网 时间:2024/04/30 10:16
3-4 封装
extends
初始化父类再初始化子类。 调用子类函数时,(不能调用构造方法函数) 执行父类构造方法后执行子类构造方法
创建子类时,执行顺序父类属性初始化,父类构造方法初始化,子类属性初始化,子类构造方法初始化。


final 如果类不能继承 如果方法 不能重写 就不能在子类写一样名的方法。如果成员 要么声明时候赋值要么构造方法时候赋值。如果局部变量 


当常量 不能修改


super 代表父类、
子类构造过程中必调用父类构造方法


Object类 
直接输出dog 输出地址 改写toString()返回值  工具栏里source 在Dog里重写
equals 对象地址是否相投 dog.equal(dog2)=1 ? 重写判断值是否相同 在Dog里重写


父类不能创建new子类对象


4-1多态
引用的多态
calss Dog extends Animal
父类引用可指向子类; Animal obj2=new Dog();反之不行;
多态方法时(父类子类方法名一样 内容可以不一样)可 obj2.eat()引用,引用的是子类的方法;如果子类有独立的方法而父类没有则不能用上条


创建的子类对象调用该方法;
使用父类类型的引用指向子类对象,该引用只能调用父类中定义的方法和变量,子类有父类没有不能调用,如果子类中重写了父类的一个方法,那


么调用时候用子类的,(动态连接动态调用),变量不能被重写(覆盖),重写的概念只针对放发,如果在子类中重写了父类的变量,那么在编译


的时候会报错。
多态的三个必要条件 继承重写父类引用指向子类对象


引用类型转换
向上类型转换 隐式 自动类型转换 小到大类型 无风险
向下  强制类型转换  有风险 用instanceof
Dog dog= new Dog();
Animal animal=dog; 向上 自动
if(animal instanceof Dog)   父类对象 instanceof 子类而不是子类对象
Dog dog2=(Dog)animal  向下 强制


抽象类 规定继承类里面有什么函数,并不需要方法体
 public abstract void call();   不用方法体直接分号结束


4-5
接口 规范 约束类 interface 一般用public 默认abstract [可以多继承]
{默认public static final多个常量 默认public abstract多个抽象方法}


类 implements 
修饰符class 类名 extends 父类 implements 接口1 接口2 如果继承父类,继承父类必须在实现接口之前
命名前加I
匿名内部类
一、IPlayGame ip3=new IPlayGame(){
  public void playGame(){
System************8
}
}
ipe.playGame();


二经常用这个new IPlayGame(){
public void playGame(){
system.out.******************8;
}
}.playGame();   直接.playGame调用接口方法


4-7
UML 标准建模语言
1.用例图 TUCD
2.序列图 TSD
3.类图 TCD
Visio Rational Rose 
PowerDesigner 
0 0
原创粉丝点击