继承
1 关键字:extenfs
2 格式:public class 子类名 extends父类名{
}
java只允许单继承(只有一个父类),但可以让类同时实现多个接口;
3 子类继承了父类的那些属性和方法
当子类继承了父类,那么子类继承父类所有属性和普通方法(除构造方法)
1> 子类和父类在同包下时,可使用的属性和方法:除私有属性和方法外,其他属性和方法能被子类的对象及子类调用;
2> 子类和父类在不同包下时,可使用的属性和方法:private,protected和default都不能调用(只有public属性的对象才被调用)
受保护的属性和方法在子类{ }里可调用;
4 方法的重写
条件:存在继承关系
子类重写方法时,访问修饰符,返回值类型,方法名,参数个数、类型完全一致
子类中通过super.方法名();//在子类中调用父类方法
优先调用子类的方法,如子类无该方法,则调用父类方法;
5 自动转型(减少代码编写)
父类名 对象名=new 子类的构造方法();
public 返回值类型 方法名(父类名,对象名){
方法名(子类对象名);
方法名(父类对象名);
}
6 多态
多态是由java中的继承,方法重写,自动转型以及方法重载等技术的组合
多态就是对象的不同表现形态
7 练习
public class Food(){
private Sting Name;
private String Taste;
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
public void setTaste(String Taste){
this.taste=taste;
}
public String getTaste(){
return taste;
}
public void make(){
System.out.println(getName()+"是由面粉做成的");
}
}
public class JunkFood extends Food{
public void make(){
System.out.println(getName()+"是有面粉和土豆做成的");
}
}
public void class Test{
public static void main(String[] args){
Food f=new JunkFood();
f.setName("chips");
f.setTaste("sweet");
f.make();
Food nf=new JunkFood();
nf.setName("mian");
nf.make();
Cook c=new Cook();
c.cook(f, nf);
}
}
public class Nuddles extends Food{
public void make(){
}
}
public class Cook {
public void cook(String f1,String f2){
f1.make();
f2.make();
}
}
分享到:
相关推荐
在Qt5中,类的继承关系是其核心部分,因为它定义了组件之间的层次结构,使得代码重用和模块化成为可能。"Qt5类继承关系图"是一个重要的参考资料,它直观地展示了Qt5库中各个类之间的关系,有助于开发者理解和使用Qt5...
【Java面向对象之继承练习题】的解析与详解: 1. **类的继承**:在Java中,继承是面向对象编程的重要特性,允许一个类(子类)继承另一个类(父类)的属性和方法。例如,我们可以创建一个`Music`类作为其他音乐相关...
根据给定的信息,我们可以深入探讨C++中的抽象类与继承机制。下面将详细介绍如何通过抽象类和继承在C++中实现特定的功能。 ### 概述 在这个示例中,我们有三个具体的类:`Student`、`Lecture` 和 `Module`,它们都...
在Java编程语言中,继承是面向对象特性之一,它允许我们创建一个类(子类或派生类)作为现有类(父类或基类)的扩展。这种设计模式有助于代码重用,使得子类可以继承父类的属性和方法,并且可以添加新的功能或覆盖已...
在C#编程中,"继承窗体的设计"是面向对象编程的一个重要概念,它允许我们创建一个新的窗体类,该类基于已有的窗体类,从而可以复用和扩展功能。这种方式大大提高了代码的可重用性和可维护性。本文将深入探讨C#中继承...
"WPF窗口直接类继承"这个主题涉及到的是如何通过继承自定义窗口类,以实现更灵活和模块化的代码结构。 在标准的WPF应用中,窗口通常由`System.Windows.Window`类创建。然而,当项目变得复杂,多个窗口需要共享相同...
在C++编程语言中,继承和派生是面向对象编程的重要概念,它们允许我们构建复杂的类层次结构,实现代码重用和多态性。在这个“C++程序设计 继承与派生实验(二)”中,我们将深入探讨这三个关键知识点:类的派生与...
本资源摘要信息将对 Java 基础知识点进行总结,涵盖继承、封装、多态等概念,并对面向对象的设计、数据库设计模式等进行讲解。 继承 继承是 Java 中的一种机制,允许一个类继承另一个类的属性和方法。继承的语法是...
QT类继承图是Qt框架中的一个重要组成部分,它展示了Qt库中各类之间的层次结构,帮助开发者理解和使用Qt的各种组件。在编程领域,类继承是面向对象编程的一个核心概念,通过继承,一个类(子类)可以获取另一个类...
【C++编程思想--多重继承】 多重继承是C++中的一种特性,允许一个类可以从多个基类中继承属性和行为,从而实现代码复用和设计灵活性。这种机制使得类能够结合多个基类的功能,但同时也引入了一些复杂性和潜在的问题...
其中,“组合优于继承”是一条广为流传的原则,意味着在设计软件时,我们应该优先考虑使用组合(Composition)而不是继承(Inheritance)。这条原则的提出主要是为了解决继承带来的潜在问题,如代码的可维护性、可...
"C++类继承内存布局详解图" C++类继承内存布局是一种复杂的机制,涉及到类的继承、成员变量的访问、成员函数的访问、虚函数调用、强制转换到基类或虚基类等多个方面。在本文中,我们将从C结构的布局开始,逐步介绍...
在Windows Presentation Foundation(WPF)中,创建可继承的窗体是一种常见的做法,尤其是在开发大型应用时,可以提高代码的重用性和维护性。标题"**WPF可继承窗体**"指的是如何设计一个基本的WPF窗口,使其能够作为...
在Java编程语言中,`extends`关键字用于实现类的继承机制。类的继承是面向对象编程的一个核心特性,它允许一个类(子类)继承另一个类(父类)的属性和方法,从而实现代码的复用和扩展。下面将详细探讨`extends`...
在Java编程语言中,类的继承是面向对象编程的一个核心概念。这个实例是关于如何在超市购物场景下应用继承机制的。在这个系统中,我们有以下几个关键类:`ShoppingCar`(购物车)、`Database`(数据库)、`McBean`...
实验报告的主题是“C++实验五 继承与派生的应用”,主要涵盖了C++面向对象编程中的核心概念,包括继承和派生。本实验旨在帮助学生深入理解和掌握以下几个关键知识点: 1. **继承和派生的含义**:继承是面向对象编程...
在C++编程语言中,继承和多态是面向对象编程(OOP)的两个核心概念。继承允许我们创建一个新类(子类),它继承了另一个类(父类)的属性和方法,从而实现了代码的重用和扩展。多态则是指同一种行为在不同对象上表现...
"C++面向对象程序设计习题继承与派生.pdf" 继承是面向对象程序设计中的一种重要机制,它允许一个类继承另一个类的属性和行为特征。通过继承,新类可以从现有类中获得特征,从而达到代码复用的目的。在C++中,继承...
标题“14 继承(一)(整个继承树映射到一张表)”揭示了我们今天将探讨的主题——如何在数据库中通过ORM(对象关系映射)工具如Hibernate处理类的继承关系。 在Hibernate中,当一个类继承体系映射到数据库时,有几种...
### C++继承与派生详解 #### 5.1 继承与派生的概念 **5.1.1 为什么要使用继承** 继承是面向对象编程中的一个核心概念,它允许新类从现有类那里获得其属性和行为。这种机制不仅提高了代码的复用性,还增强了软件的...