面向对象

1)堆:
1.1)new出来的对象(包括成员变量)
1.2)成员变量的生命周期
1.3)没有任何引用指向的对象即为垃圾
垃圾回收器(gc)不定时清理垃圾
1.4)回收过程所透明的,并不是看到垃圾就回收
通过调用System.gc()可以建议快一些
1.5)
2)栈

3.方法重写

1.重写
首要条件 父子类关系,方法签名一样 方法体不一样(实现语句不一样) 重写方法被调用时 看对象类型
遵循运行期绑定 看对象的类型调用
2.重载
首要条件 同一个类 方法名称相同 参数不一样 方法体不一样
遵循编译期绑定 看引用的类型绑定


1.静态变量
由static修饰 它是属于类的 存在方法区中 只有一份 常常通过类名来访问
何时用: 在所有对象的数据都一样的时候
2.静态方法
2.1)由static修饰
2.2)属于类的 存在方法区中 只有一份
2.3)常常通过类名 来进行访问
2.4)静态方法中没有隐藏的this
所以静态方法中不能直接访问实例成员 (实例成员只能对象访问)
2.5)
静态方法--何时用 :方法的操作与参数相关与对象无关

3.静态块
3.1)static修饰
3.2)属于类的 在类被加载期间自动执行
因为类只被加载一次 所以静态块也只执行一次
3.3)何时用 常常用于加载/初始化静态资源(图片。。。。视频。。。。音乐。。。)

4.final:不可变---------单独使用的几率很小
1)修饰变量:变量不能被改变
2)修饰方法:方法不能被重写
3)修饰类 :类不能被继承
final 修饰成员变量 两种方法初始化
1)声明的同时初始化
2)构造方法中初始化
final修饰局部变量 用之前初始化即可、

5.抽象方法
5.1)由abstract来修饰
5.2)只有方法的定义 没有方法的具体实现;
5.3)抽象方法不完整
5.4)包含抽象方法 类也的必须所抽象类
不包含抽象方法的类也可以声明为抽象类 ----除非我愿意
5.5)抽象类不能被实例化
5.6)抽象类所需要被继承的 子类将父类所有方法重写;
5.7)抽象类的意义
5.7.1)封装子类所共有的数据和方法 被子类共用
5.7.2)抽象类为所有子类提供了统一类型 -------- 向上造型
5.7.3)包含抽象方法 为所有子类提供一个统一的入口
6.接口
1)是一个标准、规范
遵守了这个标准,就能干某件事 ----------------API之后
2)由interface定义的
3)只能包含常量和抽象方法
4)接口同样不能被实例化
5)接口是需要被实现/继承的, 实现类/子类
必须重写接口中的所有抽象方法
6)一个类可以实现多个接口 用逗号隔开
若要继承又要实现 必须先继承后实现;
7)接口可以继承接口

extends ----------同类型的用----类和类
implements---不同类型的用------类和接口

 

1.多态
1)多态的意义:
1.1,同一类型的引用指向不同对象时 有不同的实现 ------行为的多态
1.2,同一个对象被造型为不同类型时 有不同的功能 ------对象的多态
2)向上造型:
2.1,父类型的引用指向子类的对象 能造型成的类型:父类、实现的接口
2.2,能点出来什么 看引用类型
3)强制类型转换 转换成功的条件有2个 只要符合其中一点就算是成功的
3.1,引用所指向的对象 就是该类型
3.2,引用所指向的对象 实现了该接口
4)强转之前建议通过instanceof判断是否能强转成功
返回boolean 强转成功的条件就是它为ture的条件 不能强转返回的就算false;

 

转载于:https://www.cnblogs.com/iostb/p/5548141.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值