对于这个话题好多人都比较模糊,也包括了做了几年的老程序员。对于我来说,到现在为止才算有一点清楚
。
1抽象类:
如果一个类不能充分描述这个一个具体对象,那么这个类就被定义为抽象类
1.1 抽象类不能够被实例化。
1.2 抽象类中允许有抽象方法跟普通方法同时存在
1.3 抽象类的定义必须为abstract
1.4 如果抽象类的子类没有实现抽象父类的所有抽象方法,那么子类也应该被定义为抽象类
1.5 仅当abstract类的子类实现其超类的所有abstract方法时,才能被实例化,这种类是具体类.
public abstract class test {
public String aa;//抽象类中可以有自己的数据成员
abstract void method1();
abstract void method2();
//抽象类中可以有默认的方法行为
void add(){
System.out.println("test");
}
}
public class tt extends test {
@Override
void method1() {
// TODO Auto-generated method stub
}
@Override
void method2() {
// TODO Auto-generated method stub
}
}
public class testrun {
/**
* @param args
*/
public static void main(String[] args) {
tt obj=new tt();
obj.add();//调用具有默认行为的方法
obj.method1();//调用抽象方法
obj.aa="2";//访问成员
System.out.println("aa="+obj.aa);
}
}
二 接口
接口一种特殊的抽象类
1. 接口中的方法都是abstract的
2. 接口中可以拥有static final的数据成员,但一般都不这样做
3. 接口中的方法不能有默认行为
public interface ITest {
public static final String aa="88";//接口中可以有static final的数据成员,一般不这么做
//方法都是抽象的
void method1();
void method2();
//不能有默认方法行为
}
接口更多的是在系统框架设计方法发挥作用,主要定义模块之间的通信,而抽象类在代码实现方面发挥作用,可以实现代码的重用
分享到:
相关推荐
在Java语言中,abstract class和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,...
### 详细解析Java中抽象类和接口的区别 #### 引言 在面向对象编程中,Java作为一种广泛应用的编程语言,提供了多种方式来实现抽象的概念。其中最常用的两种机制是抽象类(abstract class)和接口(interface)。这...
java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例...
在Java编程语言中,抽象类和接口是两种重要的面向对象设计概念,它们允许我们定义规范,供其他类去实现或继承。在这个练习中,我们将深入理解这两种机制,并通过实际的代码示例和注释来加深理解。 首先,让我们讨论...
Java抽象类与接口实验报告
### Java抽象类与接口的区别 #### 一、引言 在Java编程中,抽象类(Abstract Class)与接口(Interface)都是实现抽象的关键工具。它们各自有着独特的优势和适用场景,掌握这两者的区别有助于开发者更好地设计系统...
Java中的类、抽象类和接口的区别和联系
在Java语言中,abstract class 和interface 是支持抽象类定义的两种机制区别
在Java编程语言中,抽象类(Abstract Class)与接口(Interface)是实现抽象与多态性的两种关键机制。这两种机制的出现,极大地丰富了Java语言的面向对象特性,并为开发者提供了更为灵活的设计选择。下面将从多个...
学生通过对该项目整体框架的搭建和对动物城信息管理等模块的设计与功能实现,训练了学生对项目框架的搭建、类的封装、抽象类定义与继承、接口的定义与接口的实现等Java OOP面向对象知识点的掌握。 本项目主要包括...
此书对于你学习Java抽象类和接口有非常大的帮助
Java 抽象类与接口实验报告 一、实验目的及要求 本实验的目的是掌握 Java 中的抽象类和接口的概念及其应用。通过本实验,学生将了解抽象类和接口的定义、特点及使用场景,并掌握如何使用抽象类和接口来描述不同的...
Java 接口和抽象类 Java 编程语言提供了两种机制来实现面向对象编程的多态性:接口和抽象类。这两种机制使得 Java 应用开发具有灵活性和敏捷性。 抽象类 抽象类是一种特殊的类,它不能被实例化,不能被直接使用,...
2. 抽象类可以提供默认实现,这在接口中是不允许的,但可以通过默认方法来部分解决。默认实现使得在修改抽象类的接口时,子类不必做大量改动,只需覆盖新增的默认方法即可。接口的修改则可能要求所有实现它的类进行...
与抽象类不同,接口中的所有方法默认都是抽象的,并且没有方法体。此外,一个类可以实现多个接口,这提供了多继承的功能。实现接口的类必须提供接口中所有方法的具体实现: ```java class ThreadExample implements...
### Java中抽象类和接口的区别与作用详解 #### 一、引言 在Java编程语言中,`abstract class`和`interface`是两种用于定义抽象类的重要机制。这两种机制不仅支持了Java的强大面向对象特性,而且也在实际开发过程中...
1.继承及继承实例 2.方法重写(Overwrite) 3.super关键字 4.方法重载(Overload) 5.final修饰符 6.abstract修饰符 7.抽象类 8.接口 9.接口和抽象类对比 10.接口和抽象类使用场合实例 11.总结
3. 方法实现:抽象类中的抽象方法可以有默认实现,而接口中的方法没有默认实现,除非是在Java 8及以上版本中引入的默认方法和静态方法。 4. 访问修饰符:抽象类中的方法可以有不同的访问修饰符,而接口中的所有方法...
5. **默认方法**:Java 8引入了默认方法,接口中可以有带有实现的默认方法,而抽象类中则可以自由添加非抽象方法。 6. **设计意图**:抽象类通常表示“is-a”关系,而接口更倾向于“can-do”或“behaves-like-a”...