IDEA终端采用命令行编译
1.修饰符
访问修饰符
final修饰符
修饰格式:访问修饰符 + final + 变量名
abstract修饰符
可以修饰类和方法:访问修饰符 + abstract + 类名
final和abstract不能重复使用
【补充重点】Java方法的参数:
参数只能是值传递。如何理解?对象实例作为参数传递到方法中后,参数的值就是该对象的引用。只能改变属性,并不能改变引用。
static修饰符
可以修饰方法和变量
static变量/方法的调用: 类名.变量名
如何理解静态方法只能访问静态:
非静态的函数隐含this,调用非静态的方法和变量实际上是this.方法/变量完成调用。静态函数没有this。
volatile修饰符
修饰变量,轻量级的同步机制
2.继承和多态
所有类都有一个父类(不写默认extends object)
子类中同名变量——成员变量的隐藏
子类中同名函数——成员函数的重写
对象向上造型
父类对象的引用 = new 子类()
变量如果被子类隐藏则还是由父类提供,函数如果被重写则由子类提供。
由于重写的函数由子类提供,所以可以通过父类对象指向不同子类对象,父类对象.函数名完成多态。
3.接口
Java不支持多继承,引入接口机制,从而实现多继承。
interface内部可以有成员变量和成员方法,成员方法都为abstract类型只能声明不能实现
接口也可以像上述类一样实现多态。这样称为接口回调
接口对象的引用 = new 子类()
4.内部类
类的内部类:成员内部类(非静态类)
方法的内部类:只能被该方法使用,对方法外不可见