抽象

2017-09-08  本文已影响0人  沫晴er

抽象:使用abstract声明的类叫做抽象类,如果一个类里有一个或者多个抽象方法,类就必须指定成abstrat(抽象)

1.有一个抽象方法可以定义成抽象类

2.抽象类可以定义成抽象方法和属性

3.抽象类是不能实例化

4.抽象类可以有构造方法

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;

}

}

上一篇下一篇

猜你喜欢

热点阅读