代码改变世界

2017.4.7 笔记 重写 多态 接口

2017-04-07 16:55  mojiayi  阅读(176)  评论(0编辑  收藏  举报
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 
包,
导入
数组:一维数组,二维数组
单例模式
冒泡排序