java--抽象类实例(包含静态内部抽象类)

静态内部抽象类可以被继承。

public class testfather {
public static void main(String[] args) {
person.talk2 a = new newtalk();
a.get();
person person1 = new student("alice", 20, "女");
System.out.println(person1.talk());
/* person person2 = new person(); */ // 抽象类不能调用

}
}

abstract class person {
String name;
int age;
String sex;

public person(String name, int age, String sex) // 等会试一下能否调用构造方法
{
this.name = name;
this.age = age;
this.sex = sex;
}

public abstract String talk(); // 声明一个抽象方法,可以不写其方法内容

static abstract class talk2 // 内部抽象类,静态方法 可以被继承
{
public abstract void get();
}
}

class newtalk extends person.talk2 {                  //验证内部静态类(相当于一个独立的抽象类)的继承
public void get() {
System.out.println("人物信息: ");
}
}

class student extends person {
public student(String name, int age, String sex) {
super(name, age, sex);      //继承父类构造方法
}

public String talk() {
return "姓名:" + name + " 年龄:" + age + " 性别:" + sex;
}
}

时间: 2025-01-16 23:31:00

java--抽象类实例(包含静态内部抽象类)的相关文章

java提高篇(四)-----抽象类与接口

接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法. 抽象类与接口是Java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力.他们两者之间对抽象概念的支持有很大的相似,甚至可以互换,但是也有区别. 一.抽象类 我们都知道在面向对象的领域一切都是对象,同时所有的对象都是通过类来描述的,但是并不是所有的类都是来描述对象的.如果一个类没有足够的信息来描述一个具体的对象,而需要其他具体的类来支撑它,那么这样的类我们称它为抽象类.比如new Animal

Java入门系列之类继承、抽象类、接口(五)

前言 C#和Java关于类.抽象类.接口使用方式基本相似,只是对应关键字使用不同罢了,本节呢,我们只是对照C#和Java中关于这三个概念在具体使用时,看看有哪些不一样的地方. 类继承 C#和Java在定义类方式上是一致的,这点没有什么太多要讲解的,我们直接进入到类继承上,在Java中实现继承通过extends关键字,而在C#中则是以冒号(:)来继承,非常优雅而简洁,Java如下: class Animal{} class Tiger extends Animal{} 在C#中如下: class

PHP中的抽象类与抽象方法/静态属性和静态方法/PHP中的单利模式(单态模式)/串行化与反串行化(序列化与反序列化)/约束类型/魔术方法小结

  前  言  OOP  学习了好久的PHP,今天来总结一下PHP中的抽象类与抽象方法/静态属性和静态方法/PHP中的单利模式(单态模式)/串行化与反串行化(序列化与反序列化). 1  PHP中的抽象类与抽象方法 1.什么是抽象方法?              没有方法体 {} 的方法,必须使用abstract 关键字修饰.这样的方,我们叫做抽象方法.                    abstract function say(); //    抽象方法 2.什么是抽象类?        

Java基础(九):抽象类

在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类. 抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量.成员方法和构造方法的访问方式和普通类一样. 由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用.也是因为这个原因,通常在设计阶段决定要不要设计抽象类. 父类包含了子类集合的常见的方法,但是由于父类本身是抽象的,所以不能使用这些方法. 在Java中抽象类表示的是

Java知多少(38)抽象类的概念和使用

在自上而下的继承层次结构中,位于上层的类更具有通用性,甚至可能更加抽象.从某种角度看,祖先类更加通用,它只包含一些最基本的成员,人们只将它作为派生其他类的基类,而不会用来创建对象.甚至,你可以只给出方法的定义而不实现,由子类根据具体需求来具体实现. 这种只给出方法定义而不具体实现的方法被称为抽象方法,抽象方法是没有方法体的,在代码的表达上就是没有“{}”.包含一个或多个抽象方法的类也必须被声明为抽象类. 使用 abstract 修饰符来表示抽象方法和抽象类. 抽象类除了包含抽象方法外,还可以包含

黑马程序员(Java)----面向对象(多态、抽象类、接口)

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 3.7 多态 3.7.1.理解多态 多态可以理解为事物存在的多种体现形态.例如下面的代码: Cat c = new Cat(); Animal a = new Cat(); 建立一个猫的对象,可以用猫这个类引用,也可以用动物这个类引用. 3.7.2.多态的前提 1.类与类之间必须有关系,要么继承,要么实现. 2.存在覆盖.父类中有方法被子类重写(其实没有也是可以的,但是如果没有这个就没有意义)

2.35 Java基础总结①抽象②接口③设计抽象类和接口的原则④接口和抽象类的区别

java基础总结①抽象②接口③设计抽象类和接口的原则④接口和抽象类的区别 一.抽象 abstract作用:不能产生对象,充当父类,强制子类正确实现重写方法和类相比仅有的改变是不能产生对象,其他的都有,包括构造.属性等等任何一个类只要有一个抽象的方法就成了抽象类 抽象方法 public abstract A();①方法是抽象的,这个类也是抽象的:②子类必须重写抽象方法,除非子类也是抽象类 抽象类可以没有抽象方法,但一般不这么设计 二.接口 interface 接口也是Java的一种引用数据类型(J

Java基础学习笔记七 Java基础语法之继承和抽象类

继承 继承的概念 在现实生活中,继承一般指的是子女继承父辈的财产.在程序中,继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关系体系. 例如公司中的研发部员工和维护部员工都属于员工,程序中便可以描述为研发部员工和维护部员工继承自员工,同理,JavaEE工程师和Android工程师继承自研发部员工,而维网络维护工程师和硬件维护工程师继承自维护部员工.这些员工之间会形成一个继承体系,具体如下图所示. 在Java中,类的继承是指在一个现有类的基础上去构建一个新的类,构建出来的新类被称

疯狂Java讲义(十四)---- 抽象类和接口

抽象类 抽象方法和抽象类必须使用abstract修饰符定义,有抽象方法的类只能被定义为抽象类,抽象类里可以没有抽象方法.抽象类不能被实例化. 接口 接口只是一种规范,定义了某一批类所需要遵守的规范,接口不关心这些类的内部状态数据,也不关心这些类里的实现细节,它只规定这些类必须提供某些方法.接口体现的是规范和实现分离的设计哲学. 接口语法: 修饰符可以是public或省略,如果省略修饰符,默认采用包权限访问控制符.所以一般都是public.因为接口是多个类共同的公共行为规范,因此接口里的所有成员都