Java 关键字
synchronized 表明一段代码需要同步执行
final 修饰类
使用final修饰类则该类不能被继承,同时类中的所有成员方法都会被隐式定义为final方法
final修饰类的成员变量是可以更改的
final 修饰方法
使用final修饰方法可以将方法“锁定”,以防止任何继承类对方法的修改,也即使用final修饰方法,则子类
无法重写(但并不影响继承和重载,即子类调用父类方法不受影响)
static 关键字
static方法一般称作静态方法,由于静态方法不依赖于任何对象就可以进行访问,因此对于静态方法来
说,是没有this的,因为它不依附于任何对象,既然都没有对象,就谈不上this了。并且由于这个特性,
在静态方法中不能访问类的非静态成员变量和非静态成员方法,因为非静态成员方法/变量都是必须依赖
具体的对象才能够被调用
Java的三大特性详解
封装
Java 中有三个访问权限修饰符
public、private、protected修饰符
修饰符的作用
封装的好处
1. 提高数据的安全性。
2. 操作简单。
3. 隐藏了实现。
继承
继承的初始化顺序
1. 初始化父类再初始化子类
2. 先执行初始化对象中属性,再执行构造方法中的初始化。
多态概念
多态:一个对象具备多种形态。
①父类的引用类型变量指向了子类的对象
②接口的引用类型变量指向了接口实现类的对象
多态的前提:必须存在继承或者实现关系。
多态的应用
1. 多态用于形参类型的时候,可以接收更多类型的数据。
2. 多态用于返回值类型的时候,可以返回更多类型的数据。
多态的好处: 提高了代码的拓 展性。
我们想想,平时写MVC三层模型的时候,service为什么要写接口呢?因为可能有个service会有多种不同
的实现。service就是我们平时用多态最多的地方。
引用类型
在Java中,引用类型的变量非常类似于 C/C++ 的指针。引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型,比如 Student、Dog 等。变量一旦声明后,类型就不能被改变了。
对象、数组都是引用数据类型。所有引用类型的默认值都是null。一个引用变量可以用来引用任何与之兼容的类型。
数据类型转换
包装类型和基本类型之间如何转化呢?
基本类型之间如何转换呢?有两个点:
Dog dog = new Dog("旺财")。
Integer x = 2; // 装箱 调用了 Integer.valueOf(2)
int y = x; // 拆箱 调用了 X.intValue()
1. 把大容量的类型转换为小容量的类型时必须使用强制类型转换。
2. 把小容量的类型转换为大容量的类型可以自动转换。