JAVA学习之几何类

涉及知识点:

接口、抽象修饰符abstract

abstract主要点:

一、改关键字可以修饰类的定义,方法的定义,但不可以修饰属性的定义

二、修饰类定义时,该类称为抽象类,抽象类不能用来创建对象

代码区

package work;

public abstract class jihe {

public abstract double getzhouchang();
public abstract double getmianji();

}

在上述代码中,因为“jihe”被定义成了抽象类,所以在该类中,不需要定义构造函数,只因构造函数就是用来创建对象的

错误代码:

public abstract class jihe {

public abstract double getzhouchang();  //周长的抽象方法

public abstract double getmianji();  //面积的抽象方法

        public jihe()

        {

        }

}

mian函数中创建对象:

jihe temp = new jihe() //该处就会报错


三、可以修饰方法的定义,修饰方法定义时,该方法没有方法体

四、抽象方法必须在抽象类中定义,否则会报错,抽象类中不一定有抽象方法,也就是说,可以定义抽象类,在抽象类中,可以没有抽象方法,但是,若定义了抽象方法,那么该类必须是抽象类

五、抽象类的非抽象子类中,必须给出父类中所定义的抽象方法的方法体

代码区:

父类(几何代码)代码:

package work;


public abstract class jihe {


public abstract double getzhouchang();
public abstract double getmianji();

}

子类(矩形代码)代码:

package work;


public class juxing extends jihe{


private double chang;
private double kuan;

public juxing()
{

}

public juxing(double achang,double akuan)
{
this.chang = achang;
this.kuan = akuan;
}

@Override //父类中周长方法的方法体
public double getzhouchang() {
// TODO Auto-generated method stub
return (chang+kuan)*2;
}


@Override //package work;

public double getmianji() {
// TODO Auto-generated method stub
return chang*kuan;
}
}

上述代码即用到了abstract来进行宏观的控制,在“jihe”类中,定义了俩种方法,为了使得子类也是用父类中定义的方法,用到了抽象类,来规范子类的方法定义
阅读更多

没有更多推荐了,返回首页