理解抽象类与接口的使用;
了解包的做用,掌握包的设计方法。编程
掌握使用抽象类的方法。
掌握使用系统接口的技术和建立自定义接口的方法。
了解 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方法取得对象