复习了一下java基础,随手做个例子,就当作笔记用吧!
抽象类:
/**
* 抽象类一般声明这个类所拥有的基本特征(属性)和行为(方法)
* 里面可以有非抽象的方法
*
*/
public abstract class AbstractCar {
/**
* 抽象类中可以有抽象方法,也可以有其他方法
*/
public int lunzi = 2;// 轮子
// 抽象方法不需要{},由子类中具体实现
public abstract void move(); // 移动方法
// 不是抽象方法就需要{}
public void yinqing() {
System.out.println("抽象类中引擎类型方法:");
};
}
以下是抽象类的两个子类:
public class Car extends AbstractCar {
/**
* 如果子类中没有定义与父类相同的属性,this.xx调用的父类中的属性 此时 给this.xx或super.xx的属性赋值都是给父类属性重新赋值
*
*/
private int lunzi;
/**
*
* move方法是父类抽象方法的具体实现
*/
@Override
public void move() {
this.lunzi = 4;// 本类如果没声明lunzi属性就会重新给父类lunzi赋值
System.out.println(this.lunzi);
System.out.println("父类默认属性:" + super.lunzi + "只轮子");
// TODO Auto-generated method stub
System.out.println("我是汽车,要跑了!");
super.yinqing();
this.yinqing();
}
public void yinqing() {
System.out.println("子类汽车引擎~~~~~");
}
}
public class Bike extends AbstractCar {
private int lunzi;
@Override
public void move() {
this.lunzi=2;
System.out.println("自行车轮子:"+this.lunzi);
super.yinqing();
this.yinqing();
// TODO Auto-generated method stub
}
public void yinqing(){
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("接口警报。。。。。");
}
}
分享到:
- 2009-03-04 23:10
- 浏览 740
- 评论(0)
- 论坛回复 / 浏览 (0 / 1483)
- 查看更多
相关推荐
在编程世界中,Java是一种广泛使用的面向对象的编程语言,其设计原则之一是“多态性”。为了实现这一目标,...在阅读文章《Java 接口和抽象类区别》时,你可以深入学习这两个概念的细节,并通过实践来巩固你的理解。
接口与抽象类区别 在软件开发中,接口和抽象类是两个常用的概念,但它们之间的区别却让许多人感到困惑。那么,什么是抽象类和接口?它们之间有什么区别?下面,我们就来详细地探讨这个问题。 一、抽象类 抽象类是...
11.java接口和抽象类的区别.zip11.java接口和抽象类的区别.zip11.java接口和抽象类的区别.zip11.java接口和抽象类的区别.zip11.java接口和抽象类的区别.zip11.java接口和抽象类的区别.zip11.java接口和抽象类的区别....
### 详细解析Java中抽象类和接口的区别 #### 引言 在面向对象编程中,Java作为一种广泛应用的编程语言,提供了多种方式来实现抽象的概念。其中最常用的两种机制是抽象类(abstract class)和接口(interface)。这...
这里我们将详细讨论这些概念以及抽象类与接口之间的相同点和区别。 首先,让我们来看看抽象类(Abstract Class): 1. 抽象方法是只有声明没有实现的方法,可以视为没有方法体的虚方法。例如: ```csharp public ...
### 抽象类与接口的区别 在面向对象编程中,抽象类和接口是两种非常重要的概念,它们在软件设计和实现过程中发挥着不可替代的作用。本文将深入探讨这两种概念的区别,帮助开发者更好地理解和运用它们。 #### 一、...
此外,接口和抽象类在用法上也存在一定的区别: - **静态方法**:接口里不能定义静态方法;而抽象类里可以定义静态方法。 - **构造器**:接口里不能包含构造器,而抽象类可以包含构造器。抽象类里的构造器不是用来...
接口与抽象类的区别 抽象方法是必须实现的方法。就象动物都要呼吸。但是鱼用鳃呼吸,猪用肺呼吸。 动物类要有呼吸方法。怎么呼吸就是子类的事了。 现在有很多讨论和建议提倡用interface代替abstract类,两者从...
C#类、接口、虚方法和抽象方法-接口与抽象类的区别实例 C#类、接口、虚方法和抽象方法-接口与抽象类的区别实例
4.实现抽象类和接口的类必须实现其中的所有方法。 抽象类中可以有非抽象方法。接口中则不能有实现方法。如果接口或者抽象类的子类不想实现则继续携程一个抽象方法 5.接口中定义的变量默认是public static final ...
Java 接口和抽象类 Java 编程语言提供了两种机制来实现面向对象编程的多态性:接口和抽象类。这两种机制使得 Java 应用开发具有灵活性和敏捷性。 抽象类 抽象类是一种特殊的类,它不能被实例化,不能被直接使用,...
10.java接口和抽象类的相似性.zip10.java接口和抽象类的相似性.zip10.java接口和抽象类的相似性.zip10.java接口和抽象类的相似性.zip10.java接口和抽象类的相似性.zip10.java接口和抽象类的相似性.zip10.java接口和...
Java中的类、抽象类和接口的区别和联系
理解抽象类与接口的区别并恰当运用,有助于提升代码的可扩展性和可维护性,使得软件设计更加灵活和面向对象。在进行Java编程时,应根据项目需求和设计原则,合理选择抽象类或接口来实现特定功能,以达到最佳的设计...
### 抽象类和接口的区别分析 在面向对象编程中,抽象类与接口都是实现代码复用和提高软件模块化的重要工具。它们各自拥有独特的特性和应用场景,掌握这些概念对于编写高质量、可维护性强的代码至关重要。下面我们将...
在Java语言中,abstract class和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,...
在编程世界中,接口(Interface)和抽象类(Abstract Class)是面向对象设计的重要概念,它们都是用于定义规范和提供多态性的方式。本实例源代码深入探讨了这两种概念及其在实际开发中的应用。 首先,我们需要理解...
在Java编程语言中,接口(Interface)和抽象类(Abstract Class)都是用于实现多态性的关键概念,它们各自有特定的用途和优缺点。本文将深入探讨这两种概念,帮助你理解它们之间的区别以及如何在实际开发中选择使用...