《java编程思想》P140-P160(第七章复部+第八章部分)
来源:互联网 发布:豚丫丫这款软件好吗 编辑:程序博客网 时间:2024/06/09 17:30
1.不用修饰符 修饰的方法或类,它们的修饰符是 默认修饰符,即 包访问权限(包内都可以用)(临时记的)
2.
final数据:
对于基本类型,final使数值恒定不变,而对于对象引用,final使引用恒定不变(java里数组也是对象引用)。一旦引用被初始化指向一个对象,就无法再把它指向另一个对象。然而,对象本身还是可以改变的!(只是不能再指向别的,但这个对象本身还是可以变化的)
Java允许生成”空白final”,所谓空白final是指被声明为final但是没有赋初值的域.无论什么情况,java编译器都保证空白final在使用前必须被初始化”. (必须在定义处或构造器里).
final方法:
为了防止继承类修改这个方法的定义(final方法无法被重写/覆盖)
类中所有的private方法都隐式的指定为final的.
覆盖只有在某个方法是基类的接口的一部分才出现,如果某个方法是private的,就不是接口的一部分,就不能被覆盖/重写,子类再写个一样的不能称为覆盖/重写,只是个子类的新方法(相同名称而已)。其实,子类不知道基类的某些方法(private),那么覆盖就无从谈起.
final类:final类无法被继承 .
3.初始化的顺序(得靠刷题)
- 父类--静态变量
- 父类--静态初始化块
- 子类--静态变量
- 子类--静态初始化块
- 父类--变量
- 父类--初始化块
- 父类--构造器
- 子类--变量
- 子类--初始化块
- 子类--构造器
4.多态的作用是消除类型之间的耦合关系
5.动态(也称动态绑定、后期绑定、运行时绑定)
6.java中除了static方法和final方法(private属于final方法)之外,其它方法都是后期绑定
7.java中的方法都是通过动态绑定实现的多态
8.构造器中发生了多态,如果子类覆盖了父类方法,且父类构造器中调用了该方法,会发生多态现象,最终调用子类的该方法.但是此时子类的初始化还没进行,可能导致意想不到的结果.所以尽量不要在构造器中调用其他方法,或者仅仅调用final以及private(private默认final)的方法;如下代码输出BB
public class test {class A{public A(){print();}void print(){System.out.println("A");}}public class B extends A{public B(){print();}void print(){System.out.println("B");}}public static void main(String[] args) {test t = new test();A a = t.new B();}}
- 《java编程思想》P140-P160(第七章复部+第八章部分)
- 《java编程思想》P125-P140(第七章复用类部分)
- 《java编程思想》P160-P180(第八章部分+第九章部分)
- Java编程思想(第八章)
- Java编程思想(第七章)
- Java编程思想笔记第八章(多态)
- 《Java 编程思想》--第八章:多态
- Java编程思想——第八章
- JAVA编程思想-第八章 多态
- 多态-java编程思想-第八章
- 《Java编程思想》第八章 多态
- 《java编程思想》第八章:多态
- java编程思想读书笔记----第八章 多态
- Java编程思想--第八章 多态
- Java编程思想 第八章读书笔记-多态
- java编程思想(第四版)第七章
- Java编程思想第四版第七章学习(2)
- java编程思想第七章(复用类)学习笔记
- JDK7支持switch中使用String
- 车辆密度估计--Understanding Traffic Density from Large-Scale Web Camera Data
- Java+Selenium3框架设计准备篇7-TestNG如何disable一些case
- 自定义View绘制简单基本图形
- leetcode 463. Island Perimeter
- 《java编程思想》P140-P160(第七章复部+第八章部分)
- jupyter多环境切换工作目录
- react项目实战(权限模块开发四) SkinDropDown插件开发
- dfa
- 转:centos7.2安装jdk1.6和/etc/profile不生效问题
- serialize()中文乱码
- django生成项目文件
- 梯度下降法
- bootstrap辅助类和响应式工具