Java学习笔记3——继承
继承
继承的好处:子类拥有父类的所有属性和方法,peivate修饰的无效;实现代码复用
class 子类 extends 父类
例如: class Dog extends Animal{......
}
父类:
package com.imooc;
public class Animal {public int age;public String name;public void eat(){System.out.println("动物具有吃东西");}
}
子类:
package com.imooc;
public class Dog extends Animal {
}
测试类:
package com.imooc;
public class Initail {public static void main(String[] args) {// TODO Auto-generated method stubDog dog = new Dog();dog.age = 10;dog.name = "xiaohui";dog.eat();}
}
重写
方法重写:子类可以重写父类继承的方法,当调用方法会优先调用子类的方法
语法规则:a:返回值类型 b:方法名 c:参数类型及个数 都要与父类继承的方法相同,才叫方法重写
重写Dog类:
package com.imooc;
public class Dog extends Animal {public void eat(){System.out.println("年龄"+age+"狗狗可以吃东西");}
}
3. 继承的初始化顺序: 1)初始化父类再初始化子类 2)先执行初始化对象中的属性,再执行构造方法中的初始化
Java中的final的使用
final最终,不可修改的意思;final可以修饰类、方法、属性和变量。final修饰类,则该类不允许被继承;修饰方法,则该方法不可被重写;修饰属性,则该类属性不会进行隐式的初始化(类初始化属性必须有值)或者在构造方法中赋值(但只能选其一)。final修饰变量,则该变量的值只能赋一次的值,即变为常量。
Java中的super的使用
super:在对象内部使用,可以代表父类对象
访问父类对象的属性:super.age; 访问父类对象的方法:super.eat()
super的应用:1)子类的构造过程中必须调用其父类的构造方法,则系统默认调用父类无参的构造方法,隐式调用super();2)如果子类构造方法中既没有显式调用父类的构造方法,而父类又没有无参的构造方法,则编译出错,需要在子类构造方法中的第一行加上 super().
Java中的Object类
1.Object类是所有类的父类,如果一个类没有使用extends继承另一个类,那么这个类默认继承Object类。Object类中的方法适合所有子类。
1)toString():返回对象的哈希code码,可以通过重写toString()方法表示出对象的属性——Eclipse有自动帮我们重写toString()的方法,Eclipse->Source->Generate toString()
2)equals():比较的是对象的引用是否指向同一块内存Dog dog = new Dog()
一般情况下是比较两个对象时是比较他的值是否一致,所以要进行重写。
Eclipse->Source->Generate hashCode() and equals()
重写后,比较两个对象的值是否相同:
public boolean equals(Object obj) {if (this == obj)return true;if (obj == null)return false;if (getClass() != obj.getClass())return false;Dog other = (Dog) obj;if (age != other.age)return false;return true;}
转载于:https://blog.51cto.com/ankneo/1567998
Java学习笔记3——继承相关推荐
- Java学习笔记_继承
继承的格式 在继承关系中,"子类就是一个父类".也就是说,子类可以被当作父类看待 例如父类是员工,子类是讲师,那么"讲师就是一个员工" 定义父类的格式:(一个普 ...
- java学习笔记七——继承
子类继承父类后子类就拥有父类的属性和方法 class a { } class b extends a { } b继承了a 转载于:https://www.cnblogs.com/huanghai/ar ...
- java学习笔记6--类的继承、Object类
接着前面的学习: java学习笔记5--类的方法 java学习笔记4--类与对象的基本概念(2) java学习笔记3--类与对象的基本概念(1) java学习笔记2--数据类型.数组 java学习笔记 ...
- java学习笔记13--反射机制与动态代理
本文地址:http://www.cnblogs.com/archimedes/p/java-study-note13.html,转载请注明源地址. Java的反射机制 在Java运行时环境中,对于任意 ...
- java学习笔记12--异常处理
java学习笔记系列: java学习笔记11--集合总结 java学习笔记10--泛型总结 java学习笔记9--内部类总结 java学习笔记8--接口总结 java学习笔记7--抽象类与抽象方法 j ...
- java学习笔记16--I/O流和文件
本文地址:http://www.cnblogs.com/archimedes/p/java-study-note16.html,转载请注明源地址. IO(Input Output)流 IO流用来处理 ...
- java学习笔记15--多线程编程基础2
本文地址:http://www.cnblogs.com/archimedes/p/java-study-note15.html,转载请注明源地址. 线程的生命周期 1.线程的生命周期 线程从产生到消亡 ...
- java学习笔记14--多线程编程基础1
本文地址:http://www.cnblogs.com/archimedes/p/java-study-note14.html,转载请注明源地址. 多线程编程基础 多进程 一个独立程序的每一次运行称为 ...
- java学习笔记11--集合总结
java学习笔记系列: java学习笔记10--泛型总结 java学习笔记9--内部类总结 java学习笔记8--接口总结 java学习笔记7--抽象类与抽象方法 java学习笔记6--类的继承.Ob ...
最新文章
- Verilog 中如何无误使用 generate for?
- 第一篇博客——ACM之路!
- linux cmake 安装mysql5.5.11_以及更高版本_linux cmake 安装mysql5.5.11,以及更高版本
- java的栈图形演示
- 支付宝App采用华为方舟编译器几乎秒开?支付宝回应:华为好棒,加油
- Python使用K-means聚类算法进行分类案例一则
- celebs名人写真图片数据采集,先下载100个G再说
- 《数据结构》陈越课件重点总结
- 机器人伪装成人类在 GitHub 上为开源项目修复 bug
- 如果你用GitHub,可以这样提高效率
- linux核心蜜罐系统,分析***,斩断黑手
- 计算机电源管理设置,如何修改计算机中设置的显卡电源管理模式
- python点到直线的距离_点到直线距离公式的几种推导
- 9N90-ASEMI大功率场效应管9A 900V
- 自动化部署流程_自动化会议提交工作流程:部署到生产
- 用Pandas做透视表
- alert的确定和取消
- 手机浏览器查看网页源码
- java毕业设计_短视频分享网站
- 完爆阿尔法狗元,DeepMind用5000台TPU训练出新算法,1天内称霸3种棋类
热门文章
- WebC.BBS - 网上团队管理-责任心,主动性,积极性划分
- (转)IE的box模型显示bug
- CnPack 使用的组件命名约定
- codeforces 229C
- 【Android Gradle 插件】Gradle 映射文件 ( settings.gradle 映射为 Settings 类 | build.gradle 映射为 Project 类 )
- 【Groovy】Gradle 构建工具 ( 自动下载并配置构建环境 | 提供 API 扩展与开发工具集成 | 内置 Maven 和 Ivy 依赖管理 | 使用 Groovy 编写构建脚本 )
- 【Android 安装包优化】资源混淆 ( resources.arsc 资源映射表混淆 | resources.arsc 资源映射表二进制格式分析 | 混淆全局字符串池和资源名称字符串池 )
- 【计算机网络】计算机网络概述 : 总结 ( 概念 | 组成 | 功能 | 分类 | 性能指标 | OSI 七层参考模型 | TCP/IP 模型 | 五层参考模型 )★★★
- 【TarsosDSP】TarsosDSP 简介 ( TarsosDSP 功能 | 相关链接 | 源码和相关资源收集 | TarsosDSP 示例应用 | TarsosDSP 源码路径解析 )
- Codeforces 1201