3.11抽象类接口.doc
文本预览下载声明
抽象类接口
Final:
修饰三种方法:
变量:变量一旦初始化,他的值不可变,成为常量
方法:在子类中不能重写这个方法。父类中的方法是最终版本。
类:不能有子类
一般使用static final声明常量
常量:
命名规则
全大写,单词之间常用下划线隔开 double MATH_VALUE;
编译器和运行期都会进行优化
1.Byte a=2;
Byte a=3;
Baty c=a+b;//错
2.Baty c=2+3;//对
3. final Byte a=2;
final Byte a=3;
final Baty c=a+b;//对 编译器自动优化
public class point {
static final double p1=3.14;
//final成员没有必要变成实例变量在每个实例中都分配内存空间
//添加static关键词作为类的变量,在内存中只有唯一的地址。节省内存。
private int x;
private int y;
public point() {
super();
}
public point(int x, int y) {
super();
this.x = x;
this.y = y;
}
public double distance(){
// 使用自己的xy属性
return Math.sqrt(x*x+y*y);
}
public double distance(point p){
//是自己的属性和p的xy属性运算
int dx=x-p.x;
int dy=y-p.y;
return Math.sqrt(dx*dx+dy*dy);
}
public void setX(int x) {
this.x = x;
}
public void setY(int y) {
this.y = y;
}
public int getX() {
return x;
}
public int getY() {
return y;
}
}
public class text1 {
public static void main(String[] args) {
text();
test2();
}
private static void test2() {
final point p1=new point(2,3);
p1.setX(20);
//p1变量的值不可变。
System.out.println(p1.getX());
}
private static void text() {
final int a=8;
//a=11;//final的值不可变
System.out.println(a);
final int b;
b=12;//第一次赋值,相当于初始化
System.out.println(b);
}
}
* 抽象方法
* 没有方法体
* 添加abstract关键字。需要有子类来继承位子类来提供通用代码
为子类提供方法的规约,要求子类必须实现抽象方法
Public interface A【】;
实现接口
Class xxxx implement A【】;
Class xxxx implement A,B,C【】;
Class xxxx extends Parent implement A【】;
接口之间继承
Public interface A extends B【】;
Public interface A extends B,C【】;
接口内部只能定义三样东西
抽象方法
可省略两个变量public static
常量
可省略三个变量public static final
内部类或内部方法。
==================================================================
作业:
复习:类 对象,引用
成员变量
成员方法
构造方法
This两种用法(构造方法之间调用;调用成员)
重载
访问控制符
继承extends instanceof
多态
抽象类
接口
预习:
显示全部