Python 官方文档:入门教程 => 点击学习
1、抽象类 vs 接口 方法类型: 接口只能有抽象方法。抽象类可以有抽象和非抽象方法。从 Java 8 开始,它也可以有默认和静态方法。 最终变量: 在 Java
non-final
、静态和非静态变量。接口只有静态和最终变量。implements
”来实现,抽象类可以使用关键字“extends
”进行扩展。
import java.io.*;
abstract class Shape {
String objectName = " ";
Shape(String name) { this.objectName = name;
}
public void moveTo(int x, int y){
System.out.println(this.objectName + " "
+ "已移至"
+ " x = " + x + " and y = " + y);
}
abstract public double area();
abstract public void draw();
}
class Rectangle extends Shape {
int length, width;
Rectangle(int length, int width, String name){
super(name);
this.length = length;
this.width = width;
}
@Override public void draw(){
System.out.println("矩形已绘制");
}
@Override public double area(){
return (double)(length * width);
}
}
class Circle extends Shape {
double pi = 3.14;
int radius;
Circle(int radius, String name){
super(name);
this.radius = radius;
}
@Override public void draw(){
System.out.println("圆形已绘制");
}
@Override public double area(){
return (double)((pi * radius * radius) / 2);
}
}
class HY {
public static void main(String[] args){
Shape rect = new Rectangle(2, 3, "Rectangle");
System.out.println("矩形面积:"
+ rect.area());
rect.moveTo(1, 2);
System.out.println(" ");
Shape circle = new Circle(2, "Circle");
System.out.println("圆的面积:"
+ circle.area());
circle.moveTo(2, 4);
}
}
输出:
矩形面积:6.0
矩形已移至 x = 1 和 y = 2
圆的面积:6.28
圆已移至 x = 2 和 y = 4
如果我们在矩形和圆形之间没有任何通用代码,请使用界面。
import java.io.*;
interface Shape {
void draw();
double area();
}
class Rectangle implements Shape {
int length, width;
Rectangle(int length, int width){
this.length = length;
this.width = width;
}
@Override public void draw(){
System.out.println("矩形已绘制");
}
@Override public double area(){
return (double)(length * width);
}
}
class Circle implements Shape {
double pi = 3.14;
int radius;
Circle(int radius) { this.radius = radius; }
@Override public void draw(){
System.out.println("圆形已绘制");
}
@Override public double area(){
return (double)((pi * radius * radius) / 2);
}
}
class HY {
public static void main(String[] args){
Shape rect = new Rectangle(2, 3);
System.out.println("矩形面积:"
+ rect.area());
Shape circle = new Circle(2);
System.out.println("圆的面积:"
+ circle.area());
}
}
输出:
矩形面积:6.0
圆的面积:6.28
什么时候用什么?
如果以下任何陈述适用于您的情况,请考虑使用抽象类:
java
应用程序中,有一些相关的类需要共享一些代码行,那么你可以将这些代码行放在抽象类中,并且这个抽象类应该由所有这些相关类进行扩展。public
之外的访问修饰符(例如 protected
和 private
)。如果以下任何陈述适用于您的情况,请考虑使用接口:
到此这篇关于Java抽象类和接口的区别详情的文章就介绍到这了,更多相关Java抽象类和接口的区别内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: Java抽象类和接口的区别详情
本文链接: https://www.lsjlt.com/news/158317.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0