core java v1 笔记
- 类名 camel case
- 方法名 小写开头,camelCase
- 入口是main public static void main([]string args)
- 访问控制修饰符
- default,public,protected,private
- 非访问控制修饰符
- final,abstract,static,synchronized
- 变量
- 局部变量
- 类变量(静态变量)
- 成员变量(非静态变量)
- 枚举
- 限制变量中的值只能是预先设定好的值,可以减少bug
- 局部变量
- 函数内部,运行完就销毁了
- 成员变量
- 类中的变量,构造对象的时候被创建
- 类变量
- 类中,方法体之外,必须声明为static类型
- 一个源文件只能有一个public类
- 一个源文件可以有多个public类
- 源文件的名称应该和public类的类名保持一致
- 类定义在某个包中,package 应该在源文件首行
- 源文件有import,则放在package和类定义之间,否则import在源文件最前面
- 访问控制修饰符号
- default (即默认,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。
- private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)
- public : 对所有类可见。使用对象:类、接口、变量、方法
- protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)。
- synchronized 关键字声明的方法同一时间只能被一个线程访问。synchronized 修饰符可以应用于四个访问修饰符。
- volatile 修饰的成员变量在每次被线程访问时,都强制从共享内存中重新读取该成员变量的值。而且,当成员变量发生变化时,会强制线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。
一个 volatile 对象引用可能是 null。 - 无论是否发生异常,finally 代码块中的代码总会被执行。
继承的特性
- 子类拥有父类非 private 的属性、方法。
- 子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。
- 子类可以用自己的方式实现父类的方法。
- Java 的继承是单继承,但是可以多重继承,单继承就是一个子类只能继承一个父类,多重继承就是,例如 A 类继承 B 类,B 类继承 C 类,所以按照关系就是 C 类是 B 类的父类,B 类是 A 类的父类,这是 Java 继承区别于 C++ 继承的一个特性。
- 提高了类之间的耦合性(继承的缺点,耦合度高就会造成代码之间的联系越紧密,代码独立性越差)。