知识点总结
1. 命名方式
全小写+"."区分:包名
小驼峰: 变量名/方法名
大驼峰:类名
全大写: 常量+"_"区分
数字和$:用于匿名内部类区分
2.自定义方法的调用
- 查看权限(public,protect,defaut(不写默认),private)
-
权限不行: 修改对应访问权限
-
权限可以:
- 看是否在同包中
-
不同: 先用import+包全称(包名+“.”+类名)变相同
-
相同包:
- 相同类:方法直接调用
-
void方法(参数): 方法名(有参传参)
-
返回值类型 方法(参数): 声明变量 = 方法名(有参传参)
- 不同类
- 实例方法:通过引用new对象打"."
- 静态方法--------通过类名打"."
- 常量--------------通过类名打"."
3 .注意区分
- 向上造型--------------能点出来什么,是看引用的类型。
- 强制类型转换-----------(两个成功条件满足其一后)才能点出来什么,再看引用的类型。
- 重写方法被调用时---------------------看对象的类型。
- 执行顺序
public class ooDay09Evensong {
public static void main(String[] args) {
//1)超类静态块 2)超类语句块 3)超类构造方法
Aoo o1 = new Aoo();//new了一个Aoo对象
/1)超类静态块 2)派生类静态块
/3)超类语句块 4)超类构造方法
/5)派生类语句块 6)派生类构造方法
Boo o2 = new Boo();//new了一个Boo对象,
//在加载派生类之前先加载超类,所以超类静态块先走
Aoo o3 = new Boo();//向上造型的执行过程,同上
}
}
class Aoo{
static{
System.out.println("超类静态块");
}
{
System.out.println("超类语句块");
}
Aoo(){
System.out.println("超类构造方法");
}
}
class Boo extends Aoo{
static{
System.out.println("派生类静态块");
}
{
System.out.println("派生类语句块");
}
Boo(){
System.out.println("派生类构造方法");
}
}