[修饰符] class 类名{
变量成员声明及其初始化;
方法声明及方法体;
}
[修饰符]:public 公有类、abstract抽象类、final 终结类
class:关键字
构造方法:
- 方法名与类名相同
- 没有返回参数(修饰符void也不能有)
- 一般声明为公有类public
- 主要作用式完成对象的初始化工作
构造方法不能被继承,可以用super调用。
类型 | private | 无修饰符 | protected | public |
同一类 | 可访问 | 可 | 可 | 可 |
同一包的子类 | 不可 | 可 | 可 | 可 |
同一包的非子类 | 不可 | 可 | 不可 | 可 |
不同包的子类 | 不可 | 不可 | 可 | 可 |
不同包种非子类 | 不可 | 不可 | 不可 | 可 |
抽象类
- 一个抽象类的子类如果不是抽象类,则必须为父类所有的抽象方法重写方法体
- 只有抽象类才具有抽象方法
- 如果一个类里没有抽象方法,则必须将这个类声明为抽象类
- 除了抽象方法,抽象类种还包括非抽象方法
/**
* 几何图形
*/
abstract class Shape {
Shape(){
System.out.println("几何图形的构造方法");
}
}
/**
* 圆
*/
public class Circle extends Shape{
Circle(){
System.out.println("圆的构造方法");
}
void draw(){
System.out.println("画圆");
}
}
public class Triangle extends Shape {
Triangle(){
System.out.println("三角形的构造方法");
}
void draw(){
System.out.println("画三角形");
}
}
public class test {
public static void main (String []args){
Shape shape=new Circle();
Shape shape1=new Triangle();
((Circle) shape).draw();
((Triangle) shape1).draw();
}
结果显示: