java 中有关抽象类和类,接口

java中有关抽象类和方法,接口试题谢谢您能举个例子吗谢谢您了
2025-03-07 05:18:43
推荐回答(2个)
回答1:

类:用class声明,有相同属性和行为的泛指!
属性:就是在类中函数体外定义的变量,称为类属性!有默认值:基本数据类型默认值:0,引用类型默认值全是null。

抽象函数:用abstract修饰的函数叫抽象函数!
特点:抽象方法不能有方法体!

抽象类:用abstract修饰的类叫抽象类!
特点:
1:抽象类中可以有抽象函数,也可以有普通函数
2:抽象类不能被实例化对象,必须被继承,必须重写父类中的所有抽象函数,如果没有重写所有的抽象方法,那么该类依然需要声明为抽象类!
3:不能有抽象的构造器,可以定义普通构造器
4:不能定义静态抽象方法!
5:抽象类中可以有main函数!
6:不能定义最终抽象类!

接口:不用class定义类,用interface定义的类
特点:
1:接口中只能定义抽象函数,不可以有普通函数!
2:接口不能被实例化对象,必须被实现implements(继承),必须重写父类中的所有抽象函数,如果没有重写所有的抽象方法,那么该类依然需要声明为抽象类!
3: 不能有构造器.
4:不能定义静态抽象方法!
5:接口中不可以有main函数!
6:接口不能定义为最终接口!
7:接口中所有的函数默认全是用public abstract修饰!
8:接口中所有的属性默认全是public static final修饰!

普通类 抽象类 接口3者之间的关系?
普通类继承普通类
普通类继承抽象类
普通类实现接口

抽象类继承普通类
抽象类继承抽象类
抽象类实现接口

接口不能继承也不能实现普通类
接口不能继承也不能实现抽象类
接口继承接口

Java是单一继承,可以通过接口实现多继承!

Static:修饰属性,函数,静态代码块

final(最终的):修饰类,属性,函数
修饰类(最终类):该类不能被继承!
修饰属性(最终属性):在声明时必须给初始值;最终属性不能被改值;一般在声明最终属性时,属性名为大写!
修饰函数(最终函数):该函数不能被重写!

回答2:

印象中是这样的:

接口和抽象类中的方法都是public的
但抽象类中的方法默认就是public型的,所以不需要再写public关键字了

抽象类不能是final型的
因为抽象类中有的方法没有实现(抽象类中允许有方法的实现)
需要被继承并实现抽象类中未实现的方法
一个类只能继承一个类

接口中的方法不能有实现
但一个类可以实现多个接口

例如:
abstract class 抽象类{
abstract int sum(int a,int b);//无实现的方法
int cut(int a,int b){ //有实现的方法
return a - b;
}
}

//接口中的方法不能有实现
public interface 乘法接口{
public int volume(int a,int b);
}

public interface 除法接口{
public double division(int a,int b);
}

//实现类
class Test extends 抽象类 implments 乘法接口,除法接口{
//实现抽象类中的方法
int sum(int a,int b){
return a + b;
}
//实现乘法接口中的方法
public int volume(int a,int b){
return a*b;
}
//实现除法接口中的方法
public double division(int a,int b)
return a/b;
}
}

写了这么多,希望楼主加分