53 Java 抽象类和抽象方法
2014-02-09 15:03
295 查看
/* * 抽象方法和抽象类 * ——抽象方法和抽象类必须使用abstract ,有抽象方法的类只能被定义为抽象类 , * 抽象类里可以没有抽象方法 * 抽象方法里不能有方法体 * 抽象类不能被实例化,无法使用 new 关键字来调用抽象类的构造器创建抽象类的实例 * —— 即使抽象类里不包含抽象方法没这个抽象类也不能创建实例 */ public abstract class Shape { { System.out.println("执行Shap的初始化块..."); } private String color; //定义一个计算周长的抽象方法 public abstract double calPerimeter(); //定义一个返回星转的抽象方法 public abstract String getType(); //定义Shap的构造器,该构造器并不是用于创建Shape对象 //而是用于被子类调用 public Shape(){}; public Shape(String color) { System.out.println("执行Shape的构造器..."); this.color=color; } //color 属性的setter和getter方法 public String getColor() { return color; } public void setColor(String color) { this.color = color; } }
public class Triangle extends Shape {
//定义三角形的三个边
private double a;
private double b;
private double c;
//构造器
public Triangle(String color,double a,double b,double c)
{
super(color);
this.setSides(a, b, c);
}
//设置三条边
public void setSides(double a,double b,double c)
{
if(a>=b+c ||b>=a+c ||c>=a+b)
{
System.out.println("三角形三边之和必须大雨第三边");
return;
}
this.a=a;
this.b=b;
this.c=c;
}
//重写Shape 类的计算周长的抽象方法
@Override
public double calPerimeter() {
// TODO Auto-generated method stub
return a+b+c;
}
//重写Shape类的返回星转的抽象方法
@Override
public String getType() {
// TODO Auto-generated method stub
return "三角形";
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Triangle tri=new Triangle("red", 3, 4, 5);
System.out.println("周长:"+tri.calPerimeter());
System.out.println("Color:"+tri.getColor());
System.out.println("Type:"+tri.getType());
}
}
相关文章推荐
- java中抽象类与抽象方法的使用问题
- Java中关于抽象类抽象方法以及接口的总结
- java学习笔记7--抽象类与抽象方法
- java中抽象类和抽象方法到底什么关系?请举例说明!
- java中的抽象类和抽象方法
- JAVA的抽象类和抽象方法
- java的抽象类和抽象方法
- copy 回顾总结:Java中抽象类与抽象方法
- #java#抽象类与抽象方法
- Java中抽象类和抽象方法的区别 ---------------
- java基础回顾----抽象类和抽象方法,接口
- java的抽象类和抽象方法
- java中抽象类与抽象方法的使用问题
- Java-抽象方法和抽象类
- JAVA方法、JAVA接口、抽象类(抽象方法)
- java讲义经验之谈(二)抽象类与抽象方法
- Java学习笔记53. Java中的抽象类
- java中的抽象类和抽象方法
- java中的抽象类和抽象方法
- java基础-抽象类与抽象方法