5.Java
2020-02-26 本文已影响0人
Plenari
- ++
- 混合使用
++a
前边 先加后用,a++
后边 先用后加 - 分开使用
a++
和++a
没有区别。
Jshell
- 常量计算
如果右侧都是常量,那么编译直接计算出来的结果。 Switch
- 可以switch的类型受到限制
- byte/short/char/int
- String /enmu
-
static
静态
- 静态方法不能访问非静态的变量,能不能访问函数呢?
- 成员方法可以访问静态变量。
- 因为静态方法是归宿与类,而成员变量归属于实例
- 方法区有用来存储静态方法的地方。
- 堆,栈内存,方法
- 栈内存,通过压栈
- 堆内存,所有new出来的对象都在这里
- 方法区,各种方法
- 地址
- 继承
- 继承 对静态的原则。
- override时子类的返回值必须小于父类的返回值范围。
- 子类权限必须大于父类权限, public >protected >(default)>private;
- 抽象类
- 抽象方法必须在抽象类中,在class之前,和返回类型之前
- 子类必须实现所有的抽象方法。
- 接口
-
接口是多个类的数据规范
10.1 内容 -
7 常量,抽象方法
-
8 ,默认方法,静态方法
-
9
-
Java9
public
- 接口常量
public static final int num=0;
前三个关键字省略也是存在的; - 多态
成员变量不能覆盖重写,多态既能掉父类的也能掉子类的。不是多态不也可以吗?
//.的方法获取成员变量
Fu fu =new zi();
fu.成员变量,直接从fu类找,没有就再从父类找
// 成员函数获取成员变量
Fu fu =new zi();
看该方法属于谁,从哪个类中找,没有向上找。
- 内部类
wai.nei dd=new wai().new nei();
-
内部类如何引用外部重名变量
image.png
- 类的权限
外部类 public default
内部类,跟函数一样的权限
函数内部类:default - 匿名内部类
- 实际上是利用了多态的方法。
接口 name = new 接扣(){
重写所有方法
};
- 枚举类
enum Weekday {
MON(1), TUE(2), WED(3), THU(4), FRI(5), SAT(6), SUN(0);
public final int dayValue;
Weekday(int dayValue) {// 这里不能用public
this.dayValue = dayValue;
}
}
//
Weekday day=Weekday.SUN;
day.ordinal();//输出顺序值。
//
toString()会返回和name()返回值值,toString()可以重写。
- 字符串
String.join;
StringJoiner;
StringBuilder;
- 抛出异常
// 只捕获一次
public static void main throws Exception(){}
//在程序里跑出异常
throw new Exception("null");