String默认值是null
单继承:一个子类只能有一个父类,一个父类可以有多个子类
重写:方法明相同,返回类型相同,参数相同
多态是在继承的基础之上
多态:父类型的引用指向子类型对象
父类型的引用指向子类型的对象,使用该引用调用方法,首先在父类中查找有没有这个方法,如果有,接着去子类中查找有没有该方法。如
果子类也有该方法,调用子类的方法。如果子类中没有,直接调用父类的该方法。父类没有,直接报错。
Animal3 animal =new Dog3();//多态:父类型的引用指向子类型对象
Dog3 dog=(Dog3)animal;//向下类型转换
dog.run();
如果父类的引用调用父类的方法需要向上类型转换
调用子类独有的方法,需要向下类型转换
向下类型转换 显示转换,向上类型转换是 隐式转换
抽象类:使用abstract修饰的类,叫做抽象类
注意1.抽象类无法直接实例化
2.抽象类中可以有抽象方法,也可以有具体的方法(有大括号就是有具体的方法),抽象类可以没有抽象方法,也可以没有具体的
方法
3.一个类中有抽象方法,它肯定是抽象类
接口类:
使用Interface修饰。
接口中的方法都是抽象方法。(可以不加abstract,默认都是abstract方法)
接口不能直接实例化
一个类可以实现接口,必须实现接口中多有的方法。
一个类可以实现多个接口。
抽象类实现接口,可以不重写所有的方法。
接口里不能有具体的方法,抽象类里可以有
继承现在前面,接口写在后面:例子:class Child extends Grapa implemens test,parent
多态:父亲型的引用指向子类型的对象。或者接口类型的引用指向实现了接口的类的对象
接口可以看做特殊的抽象类
多态是个晚绑定,他由运行器决定的,不是由编译器决定的。多态是一种运行期的行为
static:一旦被static修饰,属性都指向同一个内存空间,属性维护同一份此属性
public class April7th_关键字 {
public static void main(String[] args) {
KeyWord word = new KeyWord();
word.name="zhangsan";
KeyWord word2 = new KeyWord();
System.out.println(word.name);
System.out.println(word2.name);
}
}
class KeyWord{
static String name;
}
打印为zhangsan
zhangsan
被static修饰后就不属于对象了,属于类。哪一个对象对它修改,都会映射到其他对象中。static叫静态变量
静态代码块
static{
}
加载java到JVM 连接 初始化的时候运行 静态代码块
final
包,
导入
数组:一维数组,二维数组
单例模式
冒泡排序