java的接口、抽象类的使用

简介: java的接口、抽象类的使用

接口多重继承


接口的多重继承


package com.company;
interface Face4{
    static final double PI=3.14;
    abstract double area();
}
interface Face5{
    abstract double volume();
}
class Cylinder1 implements Face4,Face5{
    private double radius;
    private int height;
    public Cylinder1(double radius,int height){
        this.radius=radius;
        this.height=height;
    }
    public double area(){
        return PI*radius*radius;
    }
    public double volume(){
        return area()*height;
    }
}
public class lots {
    public static void main(String[] args) {
        Cylinder1 s =new Cylinder1(5.0,2);
        System.out.println("圆柱的体积为"+s.volume());
    }
}

抽象类的应用


抽象类的应用


package com.company;
abstract class Shape{
    protected String name;
    public Shape(String name){
        this.name=name;
        System.out.println("名字:"+name);
    }
    abstract public double getArea();
    abstract public double getLength();
}
class Circle extends Shape{
    private final double pi = 3.14;
    private double radius;
    public Circle(String shapeName,double radius){
        super(shapeName);
        this.radius=radius;
    }
    public double getArea(){
        return pi*radius*radius;
    }
    public double getLength(){
        return 2*pi*radius;
    }
}
class Rectangle extends Shape{
    private double width;
    private double height;
    public Rectangle(String shapeName,double width,double height){
        super(shapeName);
        this.width=width;
        this.height=height;
    }
    public double getArea(){
        return width*height;
    }
    public double getLength(){
        return 2*(width+height);
    }
}
public class chouxiangtest {
    public static void main(String[] args) {
        Shape s =new Circle("圆",10.2);
        System.out.print("圆的面积为"+s.getArea());
        System.out.println("圆的周长为"+s.getLength());
        Shape s1 = new Rectangle("矩形",6.5,10.5);
        System.out.print("矩形的面积为"+s1.getArea());
        System.out.print("矩形的周长为"+s1.getLength());
    }
}

对接口的简单初始应用


对接口的简单初始应用


package com.company;
interface Ishape{
    static final double pi = 3.14;
    abstract double getArea();
    abstract double getLength();
}
class Cricle implements Ishape{
    double radius;
    public Cricle(double radius){
        this.radius=radius;
    }
    public double getArea(){
        return pi*radius*radius;
    }
    public double getLength(){
        return 2*pi*radius;
    }
}
class Rectangle implements Ishape{
    private double width;
    private double height;
    public Rectangle(double width,double height){
        this.width=width;
        this.height=height;
    }
    @Override
    public double getArea() {
        return width*height;
    }
    @Override
    public double getLength() {
        return 2*(width+height);
    }
}
public class Main {
    public static void main(String[] args) {
     Ishape s =new Cricle(5.0);
        System.out.print("圆面积"+s.getArea());
        System.out.println("圆周长"+s.getLength());
        Rectangle s1 =new Rectangle(6.5,10.8);
        System.out.print("矩形面积"+s1.getArea());
        System.out.println("矩形周长"+s1.getLength());
    }
}
相关文章
|
1天前
|
Java
Java一分钟之-抽象类与接口的应用场景
【5月更文挑战第9天】Java中,抽象类和接口用于实现多态和抽象。抽象类不能实例化,提供部分实现和定义模板;接口包含无实现的抽象方法,用于定义行为规范和解耦合。选择时,关注行为用接口,部分实现用抽象类。注意抽象类的`final`和`static`方法、接口冲突等问题,明确设计目标,适度抽象,遵循接口设计原则,以提高代码质量。
9 1
|
1天前
|
Java
Java一分钟之-多态性:理解重写与接口
【5月更文挑战第9天】本文介绍了Java中的多态性,主要通过方法重写和接口实现。重写允许子类根据实际类型执行不同实现,关键点包括方法签名相同、访问权限不降低以及final、static和abstract方法不可重写。接口是抽象类型,包含抽象方法,提供另一种多态性实现。常见问题包括混淆重载与重写、不理解动态绑定以及滥用接口。为避免问题,需明确重写目的、合理设计接口,并在使用多态时注意类型检查。多态性是提升代码质量和灵活性的关键。
8 1
|
1天前
|
Java
Java 抽象类
5月更文挑战第4天
|
3天前
|
Java 开发者
在Java中,接口和超类在多态性中扮演着重要的角色
Java中的接口和超类支持多态性,接口作为规范,允许多继承和回调机制;超类提供基类,实现代码重用和方法重写,两者共同促进代码的灵活性和可维护性。
25 10
|
3天前
|
Java
接口在增强Java代码的灵活性方面起着关键作用
Java接口增强代码灵活性,实现多态性、解耦、多继承和扩展性。通过接口,类可隐藏实现细节,实现抽象化,促进模块化和维护性。接口定义方法,允许不同类实现,减少依赖,便于测试和修改。同时,接口提供多继承解决方案,使代码更具扩展性,易于添加新功能。
22 4
|
9天前
|
存储 Java
java IO接口(Input)用法
【5月更文挑战第1天】Java的`java.io`包包含多种输入输出类。此示例展示了如何使用`FileInputStream`从`input.txt`读取数据。首先创建`FileInputStream`对象,接着创建一个字节数组存储读取的数据,调用`read()`方法将文件内容填充至数组。然后将字节数组转换为字符串并打印,最后关闭输入流。注意,`InputStream`是抽象类,此处使用其子类`FileInputStream`。其他子类如`ByteArrayInputStream`、`ObjectInputStream`和`BufferedInputStream`各有特定用途。
20 2
|
10天前
|
NoSQL Java API
java一行代码实现RESTFul接口
Spring Data REST是构建在Spring Data之上的库,可自动将repository转换为REST服务,支持JPA、MongoDB、Neo4j、GemFire和Cassandra。无需手动创建Service和Controller层。要开始,需配置JPA数据源,创建实体类和Repository接口。快速实现REST接口,只需引入spring-boot-starter-data-rest Maven依赖,并在Repository接口上添加@RepositoryRestResource注解。
|
11天前
|
Java 程序员 数据格式
关于Java抽象类和接口的总结和一点个人的看法
关于Java抽象类和接口的总结和一点个人的看法
|
16天前
|
存储 安全 Java
[Java基础面试题] Map 接口相关
[Java基础面试题] Map 接口相关
|
16天前
|
安全 Java
Java基础&面向对象&继承&抽象类
Java基础&面向对象&继承&抽象类