java day12 小结
查漏补缺:
方法重写:
1.静态的成员方法,不算方法重写,直接跟类相关
2.子类重写父类的时候,方法访问权限不能更低,最好带上public(访问权限足够大)
今日小结:
一.抽象类(abstract)
注:抽象类的抽象方法必须声明
1)注意事项:
1.类中有抽象方法,已定位抽象类
2.抽象类不一定有抽象方法
3.子类可为抽象类(无意义)
2)特点: 不能创建对象(不能实例化)
其他特点: 父类会强制子类完成事情(指:抽象类中有抽象方法必定要重写)
格式: abstract class 类名 //抽象类
Public abstract void 方法名(); //抽象方法
二:接口(interface)
1)概念:体现的一种拓展性(后天培养)
2)格式 interface 接口名{} //接口
class 子子类名 extends子类 名implements 接口名 //实现接口
3)注意事项:
1.接口不能实例化
2.接口和子类实现类接口关系: implements 实现关系
(接口抽象关系)重点:
1)抽象类和接口的区别?
1.成员区别:
抽象类:成员变量:可为常量/变量
成员方法:可谓抽象/非抽象
构造方法:可存在(有参数/无参数)作用:对该类对象初始化
接口类:成员变量:存在public static final 默认修饰符
构造方法:无构造方法
成员方法:接口抽象方法不带主体(默认带:public abstract)
2.关系区别:
1)类与类:继承关系 extends
2)类与接口:实现关系 implements
3)接口和接口:继承关系(可多继承,也可单继承 ,仅限于java)
3.设计理念区别:
抽象类:抽象类多态进行对象的创建,体现关系"is a"
接口:接口的实例化,需要通过子类实现,体现关系"like a"
三.选择排序
Int x =0;
For(int x = 0;x<arr.leng-1;x++){
For(int y=x+1;x<arr.leng;y++){
If(arr[y]<arr[x]){
Int temp = arr[y];
Arr[y]=arr[x];
Arr[x]=temp;
}
}
}