javaSE基礎:extdens與implements同時使用的測試
- 涉及多型的基礎使用,向上向下轉型
- 涉及構造,區域性,抽象方法使用
- 涉及實列,區域性,常量的使用
- 涉及分支結構的使用
- 涉及邏輯與賦值運算子的使用
- 涉及import,Scanner類的使用
import java.util.Scanner;
public class Demo05 {
/*
* 定義一個a類繼承一個b類,實現一個介面c類,涉及構造方法,計算表面積和體積
*圓表面積公式:s=π*r²
* 圓體積計算公式:s*h
* */
//main方法
public static void main(String[] args){
Scanner s1 = new Scanner(System.in);
System.out.println("請選擇計算型別:1,圓面積,2圓體積");
int x2 = s1.nextInt();
if(x2 == 1) {
Yuan_3 y = new Yuan_2();
//可以向下轉型,多型,也可以重新建立,Yuan_2物件
Yuan_2 y1 = (Yuan_2) y;
//鍵盤掃描
Scanner s = new Scanner(System.in);
System.out.println("請輸入圓面積的半徑:");
double a = s.nextDouble();
//封裝賦值
y.setC(a);
//列印,圓面積
y1.fangFa01(a);
//檢視實列變數的賦值結果
System.out.println("實列變數c的賦值結果:"+y.getC()+"==》"+"實列變數h的賦值結果:"+y.getH());
}else if(x2 == 2){
//可以向下轉型,多型,也可以重新建立,Yuan_2物件
Yuan_3 y2 =new Yuan_2();
Yuan_2 y3 = (Yuan_2) y2;
//掃描鍵盤
System.out.println("請輸入圓的高:");
double a1 = s1.nextDouble();
System.out.println("請輸入圓面積:");
double a2 = s1.nextDouble();
//封裝賦值
y2.setH(a1);
//列印,體積
y3.fangFa02(a1,a2);
//檢視實列變數賦值結果
System.out.println("實列變數c的賦值結果:"+y2.getC()+"==》"+"實列變數h的賦值結果:"+y2.getH());
}else if(x2 != 2 && x2 != 1){
System.out.println("您輸入有誤:請輸入1或者2==》1,圓面積,2圓體積");
}
/*
出了大括號就不認識了
//查詢封裝實列變數的賦值結果
Yuan_3 x =new Yuan_2();
System.out.println("實列變數c的賦值結果:"+x.getC()+"實列變數h的賦值結果:"+x.getH());
*/
}
}
class Yuan_2 extends Yuan_3 implements Yuan_4{
//定義一個實列變數
double f;
//實現
public void fangFa01(double c){
double d = c;
double e = PI*(c*d);
f = e;
System.out.println("圓的表面積計算結果:"+e);
}
public void fangFa02(double c,double h){
double c1 = c;
System.out.println("圓的體積計算結果:"+((c*c1)*PI)*h);
}
}
abstract class Yuan_3{
//常量
static final double PI =3.14;
//定義實列變數
private double c;
private double h;
//get,set
public void setC(double c) {
this.c = c;
}
public void setH(double h) {
this.h = h;
}
public double getC() {
return c;
}
public double getH() {
return h;
}
//無參
public Yuan_3(){
}
//有參
public Yuan_3(double c){
this.c = c;
}
public Yuan_3(double c,double h){
this.c = c;
this.h = h;
}
}
interface Yuan_4{
void fangFa01(double c);
void fangFa02(double c ,double h);
}
相關文章
- 測試基礎(四)Jmeter基礎使用JMeter
- JavaSE基礎:字串Java字串
- JavaSE基礎: 介面Java
- Javase—java基礎Java
- JavaSE的基礎語法Java
- 『動善時』JMeter基礎 — 50、使用JMeter測試WebSocket介面JMeterWeb
- 『動善時』JMeter基礎 — 51、使用JMeter測試WebService介面JMeterWeb
- 『動善時』JMeter基礎 — 52、使用JMeter測試Dubbo介面JMeter
- web測試與手機app測試的異同WebAPP
- JavaSE基礎:集合類Java
- JavaSE基礎:日期操作Java
- JavaSE基礎:泛型Java泛型
- JavaSE基礎:陣列Java陣列
- JavaSE基礎:抽象類Java抽象
- 測試中,介面測試的必要性與介面測試的基礎用例設計
- JavaSE基礎入門(二)Java
- JavaSE基礎:Collections工具類Java
- JavaSE基礎:包裝類Java
- JavaSE基礎:Arrays工具類Java
- JavaSE基礎:Properties屬性類Java
- JavaSE-Java基礎面試題Java面試題
- JavaSE基礎系列之異常Java
- JavaSE基礎:異常處理Java
- JavaSE基礎:列舉型別Java型別
- JavaSE基礎知識總結Java
- JavaSE之java基礎語法Java
- JavaSE基礎知識分享(一)Java
- JavaSE基礎知識分享(二)Java
- JavaSE基礎知識分享(三)Java
- JavaSE基礎知識分享(四)Java
- JavaSE基礎知識分享(五)Java
- JavaSE基礎知識分享(六)Java
- JavaSE基礎知識分享(七)Java
- JavaSE基礎知識分享(八)Java
- JavaSE基礎知識分享(九)Java
- JavaSE基礎知識分享(十)Java
- JavaSE基礎知識分享(十一)Java
- JavaSE基礎知識分享(十二)Java