理解抽象類與接口的使用;
瞭解包的做用,掌握包的設計方法。編程
掌握使用抽象類的方法。
掌握使用系統接口的技術和建立自定義接口的方法。
瞭解 Java 系統包的結構。
掌握建立自定義包的方法。數組
(一)抽象類的使用學習
1.設計一個類層次,定義一個抽象類--形狀,其中包括有求形狀的面積的抽象方法。 繼承該抽象類定義三角型、矩形、圓。 分別建立一個三角形、矩形、圓存對象,將各種圖形的面積輸出。
注:三角形面積s=sqrt(p(p-a)(p-b)*(p-c)) 其中,a,b,c爲三條邊,p=(a+b+c)/2
2.編程技巧this
(1) 抽象類定義的方法在具體類要實現;設計
(2) 使用抽象類的引用變量可引用子類的對象;code
(3) 經過父類引用子類對象,經過該引用訪問對象方法時實際用的是子類的方法。可將全部對象存入到父類定義的數組中。對象
(二)使用接口技術blog
1.定義接口Shape,其中包括一個方法size(),設計「直線」、「圓」、類實現Shape接口。分別建立一個「直線」、「圓」對象,將各種圖形的大小輸出。繼承
2.編程技巧接口
(1) 接口中定義的方法在實現接口的具體類中要重寫實現;
(2) 利用接口類型的變量可引用實現該接口的類建立的對象。
package Work2; public abstract class Abstract { public void area() { System.out.println(this.getArea()); } public abstract double getArea(); } public class triangle extends Abstract { private double a; private double b; private double c; private double p=(a+b+c)/2; private double s=Math.sqrt(p*(p-a)*(p-b)*(p-c)); public triangle(double a,double b,double c) { this.a=a; this.b=b; this.c=c; this.p=(a+b+c)/2; this.s=Math.sqrt(p*(p-a)*(p-b)*(p-c)); } public double getArea() { return s; } } public class rectangle extends Abstract { private double width; private double height; public rectangle(double width,double height) { this.width=width; this.height=height; } public double getArea() { return width*height; } } public class circle extends Abstract { private double radius; public circle(double r) { this.radius=r; } public double getArea() { return Math.PI*radius*radius; } } public class test { public static void main(String[] args) { triangle alita1=new triangle(3,4,5); alita1.area(); rectangle alita2=new rectangle(4,5); alita2.area(); circle alita3=new circle(10); alita3.area(); } }
package Work3; public interface shape { public void size(); } class straightline implements shape{ private double length; public straightline(double length) { this.length=length; } public void size() { System.out.println("直線的長度:"+length); } } public class circle implements shape { private double radius; public circle(double radius) { this.radius=radius; } public void size() { System.out.println("圓的面積:"+Math.PI*radius*radius); } } public class test { public static void main(String[] args) { shape a=new straightline(100); shape b=new circle(10); a.size(); b.size(); } }
本次實驗的內容爲抽象類和接口類的實際運用,老師上課和咱們講解的很清楚,因此運用的還算流暢
本週咱們學習了抽象類和接口類
Obiect類是全部類的父類。
還能夠運用tostring方法取得對象