以 下 内 容 囊 括 了 j a v a 的 重 点 之 一 , 即 类 、 接 口 等 j a v a 独 有 的 东 西 以下内容囊括了java的重点之一,即类、接口等java独有的东西 以下内容囊括了java的重点之一,即类、接口等java独有的东西
java 中 static常数变量可以更改,更改后所有类中的变量值都会产生变化
//偏向于全局变量的感觉
private 定义的变量当且仅当在本类中进行使用,在其他类中使用非法(此为私有变量私有方法)
public 与之相反 但尚未知道这到底起到了什么作用
protected
前三个修饰符侧重于 使用(访问)权限的范围
不用这些进行修饰的是友好变量、有好方法。引进的其他包中的类无法调用该类中的友好变量。
this 调用当前类中的方法或者变量 但如果调用的东西是static类型的,则无须使用,因为,static是全局变量性的存在
super可以调用父类的方法,存在于子类当中去调用父类中被子类隐藏的方法或者变量
final 定义的变量变为常量,定义的方法变为死方法,后续无法修改,定义的类则变为无法再被继承的父类。const int
方法重写 以及继承和 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓三者是多态不可缺少的每一部分
上转换对象
可以使用被子类所隐藏起来的父类的变量,也可以使用子类所继承的变量,继承或重写的方法都可以使用
其余子类新增的方法或者变量都不可以使用
多态?不同子类所重写的父类的方法的不同实现结果?
(abstract)抽象类:
只允许声明定义出来,而不允许实现,且不能与final同时修饰一个函数
//存在的意义在于让子类必须去重写一些后续会用到的方法,实现单一指令的不同类的多样化
//即 抽象父类先指明前进的方向,其子类则指明每一步脚印踩在哪里
//抽象类是为了更好的使用多态
多态暴露出来的问题在于,一个类至多只能继承一个父类的变量和方法。
而接口就可以解决这个问题
(interface)接口:
接口回调(遗留问题) 出现defalut关键字
接口中一般不能存在方法体,而defalut关键字修饰的内容可以加方法体例如:
interface ShowMessage{
void 显示商标(string s);
default void f()
{
System.out.println("default 方法");
}
//下面是非法写法
void h{
System.out.println("Hello world ")
}
}
内部类:一个类中声明另一个类(内部类),有内部类的类称为内部类的外嵌类
只有内部类可以用static 进行静态修饰。
匿名类:课本中讲述的更多是和抽象类、接口相结合起来
更改: 省略了定义的繁琐过程而是将其在主类中直接定义并说明方法及 变量(不确定是否存在)等
Lambda表达式简化匿名类代码,(大概也可以简化其他类型的类定义代码)
异常类:
提到了try catch 语句
try中 一个一个的往后遍历指令,若存在指令错误,则直接中断执行后面的指令继而前往 catch中继续执行指令
P 169
throws 和throw 两个关键字不相同
不好描述,举例: (此为异常类类体)
public void loading(int m )throws DangerException{
realContent += m;
if(realContent > maxContent)
{
throw new DangerException();
}
System.out.println("目前装载了" +realContent + "吨货物")
}
又提到了finally关键字,这个关键字和try catch 一起出现
除非try catch语句中存在程序退出代码(System.exit(0))否则finally无论如何都会执行
断言语句