继承、继承中的重写

[修饰符] class 子类名 extends 父类名 {

类体

}

例:

public class Bird{//父类
    String color="white";
    String skin="羽毛";
}
public class Pigeon extends Bird{//子类
    public static void main(String[] args) {
        Pigeon pigeon=new Pigeon();//建立类的对象
        System.out.println(pigeon.color);//输出对象属性color
    }
}

继承中的重写

子类中的方法名与父类中的相同时,不继承父类方法,执行子类方法。重写也称为覆盖。

例:父类Animal,子类Cat、Dog、Sheep,执行文件Zoo

Dog类和Cat类都重写了父类的方法cry( ),执行子类方法。但Sheep类没有重写父类方法,所以执行父类方法。

      

public class Animal {
public void cry() {
    System.out.println("动物的叫声");
}
}

public class Dog  extends Animal{
public void cry() {
    System.out.println("狗的叫声“汪汪……”");
}
}

public class Cat extends Animal{
    public void cry() {
        System.out.println("猫的叫声“喵喵……”");
    }
}

public class Sheep  extends Animal{
}

public class Zoo {
    public static void main(String[] args) {
        Dog dog=new Dog();//建立对象
        Cat cat=new Cat();//建立对象
        Sheep sheep=new Sheep();//建立对象
        dog.cry();
        cat.cry();
        sheep.cry();
    }
}

原文地址:https://www.cnblogs.com/xixixing/p/8274954.html

时间: 2024-10-27 12:04:05

继承、继承中的重写的相关文章

24 继承 子类中方法重写

若父类中有一个方法fun(); 子类中对这个方法进行了重写,为fun(); 则在子类调用fun()方法时,它先看子类中是否有这个方法的重写,然后再调用父类中的方法. 概括为: 自下而上 优先调用子类中的方法,若没有重写则逆流而上调用父类中的方法. 原文地址:https://www.cnblogs.com/CPU-Easy/p/12168062.html

继承类中static数据值

1 class A{ 2 static int num = 1; 3 public static void Display(){ 4 System.out.println( num ); 5 } 6 } 7 8 class B extends A{ 9 static int num = 2; 10 public static void Display(){ 11 System.out.println( num ); 12 } 13 } 14 15 class C extends A{ 16 st

OC 类的继承、方法的重写和重载

一.类的继承 Objective-c中类的继承与C++类似,不同的是Objective-c不支持多重继承,一个类只能有一个父类,单继承使Objective-c的继承关系很简单,易于管理程序.Objective-c中所有类的父类是NSObject. Objective-c中类的继承例子: @interface Person: NSObject { NSString* name; int age; } - (NSString*) name; - (int) age; - (void) setName

C++ 继承体系中的名称覆盖

首先一个简单的样例: int x; int f() { double x; cin >> x; return x; } 在上述代码中.函数f的局部变量x掩盖了全局变量x.这得从 "C++的名字查找机制"说起,首先.在函数f的局部作用域中查找.(甚至是语句块).假设不存在,到上一层的作用域再进行查找,... 该命名空间中查找,最后是全局作用域. 在类的继承体系中,名字覆盖问题也是非常困扰的.此处的"名字"但是是函数名,变量名,typedef, enum都能

基础知识——java 类的继承、重载与重写

继承 一.extends关键字来表示继承关系.当创建一个类时,总是在继承,如果没有明确指出要继承的类,就总是隐式地从根类Object进行继承: 二.子类继承父类的成员变量 1)能够继承父类的public和protected成员变量:不能够继承父类的private成员变量: 2)对于父类的包访问权限成员变量,如果子类和父类在同一个包下,则子类能够继承:否则,子类不能够继承: 3)对于子类可以继承的父类成员变量,如果在子类中出现了同名称的成员变量,则会发生隐藏现象,即子类的成员变量会屏蔽掉父类的同名

继承PagerAdapter类需要重写五个方法和ViewPager的点击事件方法小结

继承PagerAdapter类需要重写五个方法: public int getCount() { return pages.size(); } 返回page的长度 public boolean isViewFromObject(View arg0, Object arg1) { return arg0==arg1; } 判断instantiateItem(ViewGroup container, int position)返回的要加载的pager对象是不是view视图,是则返回true并显示,不

C#中的继承 (继承、抽象类和抽象方法、接口)

最近在研究重构,所以对于类,接口这些研究的也比较多,然后看各种资料,只要我感觉到能学到东西,就记录下来,感觉是件有意义的事情. 一.继承 什么是继承:继承是允许重用现有类去创建新类的过程.分类的原则是一个类派生出来的子类具有这个类的所有非私有的属性.1.继承C#中的类:C#不支持多重继承,C#类始终继承自一个基类(如果未在声明中指定一个基类,则继承自System.Object).派生类继承基类的语法如下:using System;public class Person{//这是基类}public

面向对象_05【类的继承:extends、重写父类】

类的继承:现有类的基础上构建一个新的类,构建出来的类被称作子类,子类可继承父类的属性和方法. 什么时候定义继承?当类与类之间存在着所属关系的时候,就定义继承.xxx是yyy中的一种==>xxx extends yyy 继承好处: 1,提高代码复用性 2,让类与类之间产生关系,给多态提供前提 单继承:一个子类只能有一个直接父类.多继承:一个子类可以有多个直接父类(Java中不允许,进行改良) ==>不直接继承,因为多个父类中有相同成员,会产生调用的不确定性 在Java是通过"多实现&q

封装、继承、重载、重写、多态

有时候,代码写的不少,但有些术语却总是记得不太清楚:有些原理,明明经常用到,但却不太会描述.既然如此,那就记录下来,印象不深的时候再来看看. 1.封装:把对象的属性.操作(或业务)结合为一个整体(class),并尽可能得隐藏内部实现细节,使得对数据的访问只能通过已定义的接口. public class Person { private String name = "张三"; private int age = 18; public String getName() { return n