Java采用接口方式创建类的对象

采用接口方式创建类的对象

与用类创建类的对象的方式相似,只是将第一个类名改为接口名。
若有

  • 类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

注:

  1. 在该题中,若使用c2.radius对半径进行赋值,则会报错,不能运行。
  2. 也不能用c2.pi对pi的值进行更改,因为接口中属性默认为公共的静态最终变量(即public static final)。

版权声明:本文为weixin_51355516原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。