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
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
- day3
- DAY3
- DAY3
- day3
- day3
- day3
- day3
- Day3
- day3
- day3
- Day3
- DAY3
- Day3
- DAY3
- day3
- Day3
- day3
- day3
- codeforces_612C.Replace To Make Regular Bracket Sequence(stack)
- CF 343div2 B 暴力
- C++运算符优先级
- android中RecyclerView使用自定义的列表布局
- 选择排序算法
- DAY3
- 设计模式之工厂模式
- 今天学到(数据类型和变量)
- 线程属性pthread_attr_t简介
- iOS开发-UUID
- 【Robotium学习笔记】实践篇---官网实例练习(2016.3.7)
- 算法 加权quick-union
- Intent_filter匹配规则
- servlet示例四:与数据库交互