类的封装与继承

package yuanzhu;
import java.util.Scanner;

public class yuanzhu {
  //圆类Circle
  private double radius;
  public double getRadius() {
   return radius; }
  public void setRadius(double radius) {
  this.radius = radius;
  }
  //无参构造函数
  public yuanzhu(){
  this.radius=0;
  }
  //带参构造函数
  public yuanzhu(double r ){
  this.radius=r;
  }
  //获取面积
  public double getArea(){
  double r=this.radius;
  double area=r*r*Math.PI;
  return area;
  }
  //获取周长
  public double getPerimeter(){
  double perimeter=this.radius*2*Math.PI;
  return perimeter;
  }
  //打印圆的信息
  public void show(){
  System.out.println("请输入圆的半径");
  Scanner sc=new Scanner(System.in);
  this.setRadius(sc.nextInt());
  System.out.println("圆的半径"+this.getRadius());
  System.out.println("圆的面积"+this.getArea());
  System.out.println("圆的周长"+this.getPerimeter());
  }
  }
 //圆柱类
 class Cylinder extends yuanzhu{
 //圆柱高
 private double height;
 public double getHeight() {
 return height;
 }
 public void setHeight(double height) {
 this.height = height;
 }
 //构造方法
 public Cylinder (double r, double  h){
 super();
 this.height=h;
 this.setRadius(r);
 }
 public double getVolume( ) {
 double volume=this.getArea()*this.height;
 return volume;
 }
 //求体积
 public void showVolume(){
 System.out.println("圆柱的体积"+this.getVolume());
 }
 public static void main(String[] args) {
   yuanzhu circle=new yuanzhu();
   circle.show();
   Cylinder cylinder=new Cylinder(2.0,8.5);
   cylinder.showVolume();}
 }

 
1:this指针的作用:在方法内使用成员变量的时
•将当前对象传递给其他方法时
2:一个包中不能同时具有两个public类。
3:extends 代表继承
Class B extends A{}代表B继承自A,A所拥有的公共方法以前公共变量在B 中可以直接使用,就如同是B自己的一样。

猜你喜欢

转载自www.cnblogs.com/wjsh/p/8921586.html