# JAVA笔记
## 构造器
1. 一个类即使什么都不写,它也会存在一个方法
2. 显示定义构造器(构造方法)
3. 使用new关键字。必须要有构造器
4. 有参构造:一旦定义了有参构造,无参构造就必须显示定义
5. alt+insert(生成构造器)
## 方法重写 继承 多态
6. 重写都是方法的重写,和属性无关
7. 一个对象的实际类型是确定的,可以指向的引用类型就不确定了,父类的引用指向子类;父类型 可以指向子类,但是不能调用子类独有的方法
8. 对象能执行哪些方法,主要看对象左边的类型,和右边关系不大!
9. 子类重写了父类的方法,执行子类的方法
10. 多态注意事项:
多态是方法的多态,属性没有多态:
父类和子类,有联系 类型转换异常 ClassCastException!;
存在的条件:继续关系,方法需要重写,父类引用指向子类对象
不能重写;
static 方法,属于类,它不属于实例;
final 常量;
private方法;
11. public class Person {
{
System.out.println("匿名代码块");//代码块(匿名代码块)
}
static{
System.out.println("静态代码块");
//静态代码块
}
public Person() {
System.out.println("构造方法");
}
public static void main(String[] args) {
Person person1 = new Person();
System.out.println("=======================");
Person person2 = new Person();
}
}
12. import static java.lang.Math.random;//静态导入包
import static java.lang.Math.PI;//静态导入包
13. 抽象类的所有方法,继承了它的子类
## abstract
14. abstract 抽象类: 类 extends:单继承 (接口可以多继承)
15. abstract 抽象方法 只有方法名字,没有方法的实现
16. 不能new这个抽象类,只能靠子类去实现它:约束!
17. 抽象类中可以写普通的方法
18. 抽象方法必须在抽象类中
19. 作用:
(1).约束
(2).定义一些方法,让不同的人实现
(3).public abstract
(4). public static final
(5).接口不能被实例化~ 接口中没有构造方法
(6).implements 可以实现多个接口
(7).必须重写接口中的方法
## 接口
20. interface 定义的关键字,接口都需要有实现类
21. 接口中的所有定义其实都是抽象的public
22. 常量 public static final