java的抽象类,abstract关键字
TestAbstract.java
//抽象类abstract //当一个类中含有抽象方法是,类是"残缺的",用abstract修饰为抽象的类, abstract class Animal { private String name; Animal(String name) { this.name = name; } //抽象方法,只有方法的定义,没有方法的具体实现,抽象方法就是用来重写的 public abstract void enjoy(); } //抽象类不能被实例化 abstract class Cat extends Animal { private String eyesColor; Cat(String n,String c) { super(n); eyesColor = c; } //在子类中可以不实现父类的抽象方法,仍为抽象方法,子类也要变为抽象类 public abstract void enjoy(); } class Dog extends Animal { private String furColor; Dog(String n,String c) { super(n); furColor = c; } public void enjoy() { System.out.println("狗叫声......"); } } class Bird extends Animal { Bird() { super("bird"); } public void enjoy() { System.out.println("鸟叫声......"); } } class Lady { private String name;//姓名 private Animal pet;//宠物Animal类 Lady(String name,Animal pet) { this.name = name; this.pet = pet; } //我的宠物高兴了 public void myPetEnjoy(){ pet.enjoy(); } } public class TestAbstract { public static void main(String args[]){ //抽象类Cat不能被实例化 //Cat c = new Cat("catname","blue"); Dog d = new Dog("dogname","black"); Bird b = new Bird(); //Lady l1 = new Lady("l1",c); Lady l2 = new Lady("l2",d); Lady l3 = new Lady("l3",b); //根据实际的对象来确定调用的方法,不是通过引用类型来确定的,不然就就一定调用Animal中的enjoy()方法, //l1.myPetEnjoy(); l2.myPetEnjoy(); l3.myPetEnjoy(); } }
相关推荐
【Java面向对象(高级)- 抽象类与抽象方法(或abstract关键字)】 在Java编程语言中,面向对象编程是其核心特性之一。抽象类和抽象方法是面向对象编程中的重要概念,它们允许程序员创建一种通用的模板,用于定义一...
JAVA抽象类和抽象方法实例分析 JAVA抽象类和抽象方法是Java面向对象程序设计中非常重要的概念,它们是Java编程语言的基础组成部分。抽象类和抽象方法可以帮助开发者更好地组织和设计程序架构,提高代码的可读性和...
abstract关键字用于定义抽象类和抽象方法。抽象类不能实例化,必须被子类继承和实现。抽象方法必须在子类中被重写。abstract关键字不能应用于static、private或final方法,因为这些方法不能被重写。 示例: public...
由于抽象类自身不能被实例化,这意味着你不能使用`new`关键字直接创建一个抽象类的对象。然而,尽管不能直接实例化,抽象类在特定情况下依然可以间接地创建对象。以下将详细介绍如何在Java中处理抽象类实例化的问题...
在深入探讨Java抽象类与抽象方法之前,我们首先需理解其基本概念以及它们在面向对象编程中的作用。Java作为一种广泛使用的编程语言,提供了多种机制来实现代码的复用性和灵活性,其中抽象类和抽象方法是关键特性之一...
通过学习和熟练掌握Java抽象类,开发者能够更好地设计和组织代码,提高代码的灵活性和可维护性,是成为一名优秀Java程序员的必备技能之一。在实际开发中,合理利用抽象类和接口,可以帮助我们构建出高效、可扩展的...
"Java抽象类相关知识点" Java抽象类是Java编程语言中的一种特殊类型的类,它们用来定义父类,提供方法和变量的定义,但不能被实例化。抽象类是使用abstract关键字修饰的类,它们不能被实例化,必须被子类继承。 ...
在Java编程语言中,抽象类和接口是两种重要的面向对象设计概念,它们允许我们定义规范,供其他类去实现或继承。在这个练习中,我们将深入理解这两种机制,并通过实际的代码示例和注释来加深理解。 首先,让我们讨论...
1. `abstract`:用于声明抽象类或抽象方法。 2. `boolean`:数据类型,表示布尔值,只有两个值:`true`和`false`,并非关键字。 3. `break`:跳出当前循环或者switch语句。 4. `byte`:数据类型,表示8位二进制整数...
abstract 关键字是定义抽象类和抽象方法的关键字,它可以帮助开发者更好地理解和使用抽象类。 在 Java 中,抽象类和抽象方法的使用非常广泛,它们是 Java 编程语言的基本组成部分。通过使用抽象类和抽象方法,...
- **abstract/final/native/synchronized**: `abstract`关键字用于声明抽象类或抽象方法;`final`关键字用于声明不可变类、方法或变量;`native`用于声明本地方法;`synchronized`用于同步操作,确保线程安全。 ###...
在Java编程语言中,`abstract`关键字用于定义抽象类(abstract class),这是一个非常重要的概念,它为多态性提供了基础。抽象类是不能被实例化的,它们的主要目的是作为其他类的基类,提供一个公共的接口或者部分...
首先,抽象类是一种特殊的类,它使用`abstract`关键字进行标识。抽象类的主要目的是作为其他类的模板或基础,它不能被直接实例化。抽象类可以包含抽象方法和非抽象方法。抽象方法是只有声明而没有具体实现的方法,...
抽象类同样使用`abstract`关键字修饰。 - **实例化限制**: 抽象类本身不能被实例化,即不能使用`new`关键字创建抽象类的对象。 - **子类实现**: 如果一个子类继承自抽象类,则必须实现父类中的所有抽象方法;如果...
在这个“Java抽象类和接口相关操作源码”压缩包中,你可能会找到一系列的实例代码,帮助初学者更好地理解和运用这两种特性。 **抽象类(Abstract Class)** 抽象类在Java中是一种不能被实例化的类,它主要用于被...
1. **定义**:当一个类包含一个或多个抽象方法(没有方法体的方法),那么该类必须被声明为抽象类,使用`abstract`关键字。 2. **包含具体方法**:抽象类可以拥有具体方法,即带有方法体的方法。 3. **无抽象方法**...
"Java抽象类和接口和继承之间关系" Java抽象类和接口是两种不同的概念,它们之间存在着继承关系。在Java中,抽象类(abstract class)和接口(interface)都是用来描述对象的行为和状态的,但它们之间有着明显的...
Java中的`final`关键字、抽象类和接口是面向对象编程中的核心概念,它们共同构建了类的层次结构和多态性。以下是对这些概念的详细解释: 1. **final关键字** - `final`关键字用于确保变量的值一旦被赋值后就不能...
当一个类包含至少一个抽象方法时,该类必须声明为抽象类,用`abstract`关键字标识。 接口则是一个完全抽象的类型,它只包含常量定义和抽象方法,不包含任何实现。接口用`interface`关键字声明,它的所有方法默认都...
Java抽象类是面向对象编程中的一个重要概念,它在Java编程语言中扮演着核心角色。本文将深入探讨Java抽象类的概念、特点、用途以及如何创建和使用它们。 抽象类是一种特殊的类,不能被实例化,其主要目的是为了被...