以下是抽象类:
/**
*
* 抽象类一般声明这个类所拥有的基本特征(属性)和行为(方法)
*
* 里面可以有非抽象的方法
*
*
*/
public abstract class AbstractCar {
/**
*
* 抽象类中可以有抽象方法,也可以有其他方法
*/
public int wheel = 2;// 轮子
// 抽象方法不需要{},由子类中具体实现
public abstract void move(); // 移动方法
// 不是抽象方法就需要{}
public void engine() {
System.out.println("抽象类中引擎类型方法:");
};
}
以下是抽象类的两个子类:
public class Car extends AbstractCar {
/**
*
* 如果子类中没有定义与父类相同的属性,this.xx调用的父类中的属性 此时 给this.xx或super.xx的属性赋值都是给父类属性重新赋值
*
*
*/
private int wheel;
/**
*
*
*
* move方法是父类抽象方法的具体实现
*/
@Override
public void move() {
this.wheel = 4;// 本类如果没声明wheel属性就会重新给父类wheel赋值
System.out.println(this.wheel);
System.out.println("父类默认属性:" + super.wheel + "只轮子");
// TODO Auto-generated method stub
System.out.println("我是汽车,要跑了!");
super.engine();
this.engine();
}
public void engine() {
System.out.println("子类汽车引擎~~~~~");
}
}
public class Bike extends AbstractCar {
private int wheel;
@Override
public void move() {
this.wheel = 2;
System.out.println("自行车轮子:" + this.wheel);
super.engine();
this.engine();
// TODO Auto-generated method stub
}
public void engine() {
System.out.println("单车引擎,哈哈!");
}
}
以下是接口
public interface IDoor {
public void alarm();
}
TestA类
public class TestA {
public void close() {
// TODO Auto-generated method stub
System.out.println("关门。。。。。");
}
public void open() {
// TODO Auto-generated method stub
System.out.println("开门。。。。");
}
}
TestB类
public class TestB extends TestA implements IDoor {
public void open() {
System.out.println("子类开门.....");
}
public void close() {
System.out.println("子类关门.....");
}
public void alarm() {
super.open();
this.open();
super.close();
this.close();
System.out.println("接口警报。。。。。");
}
}
分享到:
相关推荐
java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例...
在编程世界中,接口(Interface)和抽象类(Abstract Class)是面向对象设计的...通过阅读和分析“接口和抽象类使用详细实例源代码”,开发者可以更好地掌握这两种重要概念,并将其应用到自己的项目中,提升软件质量。
C#类、接口、虚方法和抽象方法-接口与抽象类的区别实例 C#类、接口、虚方法和抽象方法-接口与抽象类的区别实例
### Java利用接口和抽象类改写求圆的面积和梯形的面积 #### 深入理解Java的接口和抽象类 在Java编程语言中,接口(Interface)和抽象类(Abstract Class)都是用于实现多态性和代码复用的重要概念。它们都无法被...
以下将详细介绍如何在Java中处理抽象类实例化的问题。 首先,理解抽象类的主要用途是为提供一种接口或模板,让它的子类去具体实现。如果尝试直接实例化抽象类,编译器将会报错。但是,抽象类可以拥有构造方法,这是...
在软件开发中,接口和抽象类是两个常用的概念,但它们之间的区别却让许多人感到困惑。那么,什么是抽象类和接口?它们之间有什么区别?下面,我们就来详细地探讨这个问题。 一、抽象类 抽象类是一种特殊的类,它不...
c#中抽象类和接口。 相同点: (1) 都可以被继承 (2) 都不能被实例化 (3) 都可以包含方法声明 (4) 派生类必须实现未实现的方法 区 别: (1) 抽象基类可以定义字段、属性、方法实现。接口只能定义属性、索引器、事件、...
### 详细解析Java中抽象类和接口的区别 #### 引言 在面向对象编程中,Java作为一种广泛应用的编程语言,提供了多种方式来实现抽象的概念。其中最常用的两种机制是抽象类(abstract class)和接口(interface)。这...
Java 接口和抽象类 Java 编程语言提供了两种机制来实现面向对象编程的多态性:接口和抽象类。这两种机制使得 Java 应用开发具有灵活性和敏捷性。 抽象类 抽象类是一种特殊的类,它不能被实例化,不能被直接使用,...
这里我们将详细讨论这些概念以及抽象类与接口之间的相同点和区别。 首先,让我们来看看抽象类(Abstract Class): 1. 抽象方法是只有声明没有实现的方法,可以视为没有方法体的虚方法。例如: ```csharp public ...
Java接口和抽象类是面向对象编程中两种重要的抽象机制,它们在实现代码的抽象和多态性方面扮演着关键角色。下面将详细分析这两种抽象形式的概念、用途和区别。 一、抽象类 抽象类是一种不能被实例化的类,它包含了...
在"实例7 接口和抽象函数"的压缩包中,你可能会找到一些示例代码,展示了如何在实际项目中使用接口和抽象类。通过分析这些代码,你可以更直观地了解接口和抽象类的区别和用法,加深对Java面向对象编程的理解。此外,...
在Java编程语言中,抽象类和接口是两种重要的面向对象设计概念,它们允许我们定义规范,供其他类去实现或继承。在这个练习中,我们将深入理解这两种机制,并通过实际的代码示例和注释来加深理解。 首先,让我们讨论...
在这个“抽象类及接口的实例及测试”项目中,我们可以通过源代码和UML(统一建模语言)图来深入理解这两种概念,并在MyEclipse开发环境中进行实际操作和测试。 首先,让我们详细了解一下抽象类。抽象类是一种不能被...
在Java编程语言中,接口(Interface)和抽象类(Abstract Class)都是用于实现多态性的关键概念,它们各自有特定的用途和优缺点。本文将深入探讨这两种概念,帮助你理解它们之间的区别以及如何在实际开发中选择使用...
Java语言的接口与抽象类是面向对象编程中的关键概念,它们在设计模式和代码组织中起着重要作用。这里我们将深入探讨这两个概念,并分析它们的异同。 首先,接口(Interface)是Java中的一种特殊类型,它通过使用`...
"Java抽象类和接口和继承之间关系" Java抽象类和接口是两种不同的概念,它们之间存在着继承关系。在Java中,抽象类(abstract class)和接口(interface)都是用来描述对象的行为和状态的,但它们之间有着明显的...
### 接口和抽象类 #### 一、概念解析 **接口**与**抽象类**是面向对象编程语言中用于实现抽象数据类型的重要工具。它们都允许开发者定义一种形式的“蓝图”或“模板”,用来指导类的设计和实现。虽然它们在功能上...
接口与抽象类是面向对象编程中的两个核心概念,它们都是为了实现代码的重用性和灵活性而设计的。本文将详细探讨接口与抽象类的区别,并结合实际编程场景来分析何时使用接口、何时选择抽象类。 #### 二、接口的基本...
在面向对象编程中,抽象类和接口是两种非常重要的概念,它们在软件设计和实现过程中发挥着不可替代的作用。本文将深入探讨这两种概念的区别,帮助开发者更好地理解和运用它们。 #### 一、定义 1. **抽象类**:抽象...