JAVA核心技术--继承
1、继承:向上追溯,对同一批类的抽象,延续和扩展父类的一切信息!
1)关键字:extends 例如,父类是Animal,子类是Dog; eg: public class Dog extends Animal
2)父类也称超类,可用super引用
3)子类也称派生类:必须继承父类,可以继承父类的属性和方法
重写:在子类中,方法名、形参、个数、类型、顺序相同! 关键字:@Override
重载:在同一个类中,名称相同的, 形参个数、类型、顺序不同!
注意:继承父类的方法时,因父类不满足要求了,我们需要重写父类的方法。
      eg: @Override
           public void eat() {
              System.out.println("猫吃鱼");
          }
    4)注意事项:属性不能被重写!
                              私有方法、静态方法、final方法 不能被重写!
                              重写前提需要继承!
2、继承的好处:
重用代码、避免重复、重写方法、新曾方法、提高了效率!
3、Object类
是所有类的祖先,任何一个类都直接或者是间接的继承了Object!
           如果一个类没有显示extends任何类,默认的继承Object类!
4、例子:功能:Aniaml类,Dog类,Cat类
/*
*Animal 类
*/ public class Animal extends Object{
//颜色
String color;
//年龄
int age; public void eat(){
System.out.println("动物吃饭");
} public void sleep(){
System.out.println("动物睡觉");
} public void introduce(){
System.out.println("自我介绍:颜色:"+color+",age:"+age);
}
@Override
public String toString() {
return "动物的颜色:"+color+",年龄:"+age;
} }
//Dog类
public class Dog extends Animal{
    //狗自己特有的属性
    String name;
    String type;
    //特有的看门的方法
    public void guard(){
        System.out.println("小狗"+name+"在看门,是人类的好朋友");
    }
    @Override
    public void eat() {
        System.out.println("小狗"+name+"在吃饭");
    }
    @Override
    public void sleep() {
        System.out.println("小狗"+name+"在睡觉");
    }
    @Override
    public void introduce() {
        System.out.println("dog:color:"+color+",age:"+age+",name"+name+",type:"+type);
    }
    @Override
    public String toString() {
        return "狗的名称:"+name+",年龄;"+age+"岁,种类"+type+",颜色:"+color;
    }
}
//Cat类
public class Cat extends Animal{
    String name;
    String sex;
    @Override
    public void eat() {
        System.out.println("猫吃鱼");
    }
    @Override
    public void sleep() {
        System.out.println("猫看不见它睡觉");
    }
    @Override
    public void introduce() {
        System.out.println(name+"喵喵的叫");
    }
    @Override
    public String toString() {
        return "猫的名称:"+name+",年龄:"+age+"岁,性别"+sex+",颜色:"+color;
    }
}
//TestAnimal
public class TestAnimal {
    public static void main(String[] args) {
        Animal an =new Animal();
        an.age=2;
        an.color="yellow";
        an.eat();
        an.sleep();
        an.introduce();
        System.out.println(an.toString());
        System.out.println("---------------");
        Dog dog =new Dog();
        dog.age=3;
        dog.color="black and blue";
        dog.name="旺财";
        dog.type="拉布拉多";
        dog.eat();
        dog.sleep();
        dog.introduce();
        dog.guard();
        System.out.println(dog.toString());
        System.out.println("---------------");
        Cat cat =new Cat();
        cat.age=2;//父类的属性
        cat.color="白色";//父类的属性
        cat.name="图图";//孩子自己独有的
        cat.sex="母";//孩子自己独有的
        cat.eat();//重写了
        cat.sleep();//重写了
        cat.introduce();//重写了
        System.out.println(cat);
    }
}
JAVA核心技术--继承的更多相关文章
- JAVA核心技术--继承(1)
		
1.继承:向上追溯,对同一批类的抽象,延续和扩展父类的一切信息! 1)关键字:extends 例如,父类是Animal,子类是Dog; eg: public class Dog exte ...
 - 《Java核心技术·卷Ⅰ:基础知识(原版10》学习笔记 第5章 继承
		
<Java核心技术·卷Ⅰ:基础知识(原版10>学习笔记 第5章 继承 目录 <Java核心技术·卷Ⅰ:基础知识(原版10>学习笔记 第5章 继承 5.1 类.超类和子类 5.1 ...
 - Java核心技术点之泛型
		
1. Why ——引入泛型机制的原因 假如我们想要实现一个String数组,并且要求它可以动态改变大小,这时我们都会想到用ArrayList来聚合String对象.然而,过了一阵,我们想要实现一个大小 ...
 - Java核心技术点之集合框架
		
1. 概述 Java集合框架由Java类库的一系列接口.抽象类以及具体实现类组成.我们这里所说的集合就是把一组对象组织到一起,然后再根据不同的需求操纵这些数据.集合类型就是容纳这些对象的一个容 ...
 - java核心技术学习笔记之一程序设计概述
		
Java 核心技术之一程序设计概述 一. Java语言的特点 简单行 :取经于C++,排除了C++不常用的指针.结构等,增加垃圾回收. 面向对象:与C++不同是单继承,但是可以继承多接口.完全面向 ...
 - Java的继承、封装与多态
		
Java的继承.封装与多态 基本概念 面向对象OO(Object Oriented):把数据及对数据的操作方法放在一起,作为一个相互依存的整体,即对象. 对同类对象抽象出共性,即类. 比如人就是一个类 ...
 - Java核心技术第五章——1.类、超类、子类(2)
		
继上一篇Java核心技术第五章——1.类.超类.子类(1) 6.重载解析 假如调用ClassName.Method(args) 1.编译器列出类ClassName所有名为Method的方法. 2.编译 ...
 - java的优点和误解       《java核心技术卷i》第一章
		
<java核心技术卷i>第一章主要内容包括三点: 1:Java白皮书的关键术语:描述Java的十一个关键字: 2:Java applet 3 :关于Java的常见误解 1:第一章:Ja ...
 - JAVA核心技术I---JAVA基础知识(工具类Arrays和Collections类)
		
一:工具类 –不存储数据,而是在数据容器上,实现高效操作 • 排序 • 搜索 –Arrays类 –Collection类 二:Arrays类(处理数组) (一)基本方法 –排序:对数组排序, sort ...
 
随机推荐
- 格式化输出星期几 C#
			
string Today = DateTime.Now.ToString("yyyy-MM-dd dddd",new System.Globalization.CultureInf ...
 - css3 :nth-child 常用用法
			
前端的哥们想必都接触过css中一个神奇的玩意,可以轻松选取你想要的标签并给与修改添加样式,是不是很给力,它就是“:nth-child”. 下面我将用几个典型的实例来给大家讲解:nth-child的实际 ...
 - css实现鼠标经过导航文字偏位效果
			
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
 - Sikulix IDE简介
			
打开sikuklixIDE 这里介绍下使用方式 可以看到左边的menu 有查找,鼠标动作和键盘动作 我们先用百度搜索做个例子 打开firefox,输入www.baidu.com 点击左边的Click, ...
 - ASP.NET 使用application和session对象写的简单聊天室程序
			
ASP.Net中有两个重要的对象,一个是application对象,一个是session对象. Application:记录应用程序参数的对象,该对象用于共享应用程序级信息. Session:记录浏览 ...
 - vs2013下自动注释的运用
			
1.首先是VAssistX,可以在VS的工具下,拓展和更新里面找到,然后下载安装即可: 以下为大家介绍一下怎么添加函数头注释:随便打开一个C++的工程,找到一个方法,右击函数名,然后依次点击“Refa ...
 - 编写服务说明.thrift文件
			
1.数据类型 基本类型: bool:布尔值,true 或 false,对应 Java 的 boolean byte:8 位有符号整数,对应 Java 的 byte i16:16 位有符号整数,对应 J ...
 - python install 2.7.10
			
CentOS 6.5升级Python和安装IPython 后来换成了CentOS 6.5,系统自带的Python版本是2.6.6. 图一:安装IPython需求 已经安装好gcc等编译工具.系统自带P ...
 - 调用openoffice Com组件转换成PDF
			
//例子 OpenOfficeExportToPDF('file:///C:/SourceFile.odt', 'file:///C:/TargetFile.pdf'); 必须为URL格式的路径 ...
 - Android学习笔记-Dialog详解
			
1.对话框的使用 1.1AlertDialog的显示 简单对话框以及监听的设置:重点掌握三个按钮(也就是三上单词): PositiveButton(确认按钮);NeutralButton(忽略按钮) ...