抽象:使用abstract聲明的類叫做抽象類,如果一個類里有一個或者多個抽象方法,類就必須指定成abstrat(抽象)
1.有一個抽象方法可以定義成抽象類
2.抽象類可以定義成抽象方法和屬性
3.抽象類是不能實例化
4.抽象類可以有構(gòu)造方法
package com.lanou.obj;
public class test7 {
public static void main(String[] args) {
square squ = new square("aa", 10);
double area = squ.area();
System.out.println("squ的名字:"+squ.getName() + "面積-為:"+area);
Rectangular rect = new Rectangular(10,12,"bb");
System.out.println("rect的名字:"+rect.getName()+"面積為:"+rect.area());
}
//Shape shape = new Shape();
}
class square extends shape{
//邊長
double siadelength;
@Override
double bc() {
// TODO Auto-generated method stub
return this.siadelength * 4;
}
@Override? //面積
double area() {
return this.siadelength * this.siadelength;
}
public square(String name,double sidlength){
super(name);
this.siadelength = sidlength;
}
}
class Rectangular extends shape{
double length;
double width;
@Override
double bc() {
// TODO Auto-generated method stub
return (this.length+this.width)*2;
}
@Override
double area() {
// TODO Auto-generated method stub
return this.length * this.width;
}
public Rectangular(){
}
public Rectangular(int length,int width,String name){
super(name);
this.length = length;
this.width = width;
}
}
abstract class shape{
private String name;
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}
abstract double bc();
abstract double area();
public shape() {
}
public shape(String name){
this.name = name;
}
}