采用接口方式创建类的对象
与用类创建类的对象的方式相似,只是将第一个类名改为接口名。
若有
- 类student
- 接口Person
- 类student实现Person 即class student implements Person
则用类创建类的对象为
- student s1=new student();
用接口方式创建为
- Person p1=new student();
注: 用接口方式创建的类的对象,只能用对象名.方法名 访问接口中定义的方法,不能访问类中自己定义的属性和方法以及接口中的属性。
详见下面代码:
代码示例:
interface face01
{
double pi=3.14;
abstract void getArea(); //对face01接口定义两个抽象方法
abstract void getLength();
}
class Circle implements face01 {
double radius;
Circle(double r) //用构造方法对半径赋值
{
radius = r;
}
public void getArea() {
System.out.println("圆的面积为:" + radius * radius * pi);
}
public void getLength() {
System.out.println("周长为:" + 2 * pi * radius);
}
}
public class CSDN {
public static void main(String[] args) {
System.out.println("--采用普通方式创建类的对象--");
Circle c1=new Circle(5.5);
c1.getArea();
c1.getLength();
System.out.println("--采用接口方式创建类的对象--");
face01 c2=new Circle(7.6);
c2.getArea();
c2.getLength();
}
}
结果:
--采用普通方式创建类的对象--
圆的面积为:94.985
周长为:34.54
--采用接口方式创建类的对象--
圆的面积为:181.3664
周长为:47.728
Process finished with exit code 0
注:
- 在该题中,若使用c2.radius对半径进行赋值,则会报错,不能运行。
- 也不能用c2.pi对pi的值进行更改,因为接口中属性默认为公共的静态最终变量(即public static final)。
版权声明:本文为weixin_51355516原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。