Java中的内部类:
成员内部类
静态内部类
方法内部类
匿名内部类

内部类的主要作用如下:

1. 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类

2. 内部类的方法可以直接访问外部类的所有数据,包括私有的数据

3. 内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便

-----------------------------
Jav中的继承是单继承
子类拥有父类的所有属性和方法(private修饰的无效)
实现代码复用

语法规则:
class 子类 extends 父类{

}

方法的重写:
如果子类对继承父类的方法不满意,是可以重写父类继承的方法的,当调用方法时会优先调用子类的方法。
语法规则:
a、返回值类型
b、方法名
c、参数
都要与父类继承的方法一致,才叫方法的重新。

//父类
public class Animal{
  public int age;
  public void eat()
  {
    System.out.println("Animal eat");
  }
}

//子类,可以访问父类的属性age,并且重写了父类的方法eat
public class Dog extends Animal{
  public void eat()
  {
    System.out.println("Dog eat");
  }
}

-----------------------------------------
final关键字
可以修饰类,方法,属性和变量
final修饰类,则该类不允许被继承
final修饰方法,则该方法不允许被覆盖(重写)
final修饰属性,
则属性不会进行隐形的初始化(类的初始化属性必须有值)
或在构造方法中赋值(但只能选其一)

final修饰变量,则该变量的值只能赋值一次,即为常量

------------------------------------------------
super关键字
在对象的内部使用,可以代表父类对象。
1、访问父类的属性
super.age;
2、访问父类的方法
super.eat();

super的应用
子类的构造过程当中必须调用其父类的构造方法。

如果子类的构造方法中没有显示调用父类的构造方法,则系统会默认调用父类无参的构造方法。

如果显示的调用构造方法,必须在子类的构造方法的第一行。
public Dog()
{
  super();
  System.out.println("test");
}

如果子类构造方法中既没有显示调用父类的构造方法,而父类又没有无参的构造方法,则编译出错。

如果自己定义了一个有参的构造方法,系统就不会再提供默认的无参的构造方法。
--------------------------------------------------------------
Object类
是所有类的父类,如果一个类没有使用extends明确标识继承另外一个类,那么这个类默认继承Object类。
Object类中的方法,适用所有子类。
1、toString()方法
在Object类里面toString方法返回的是对象的哈希code码(对象地址字符串)

可以通过重写toString()方法表示出对象的属性。
eclipse工具提供了方法实现子类重写toString,
菜单source -----> Generate toString 选择属性值。

2、equals()方法 (== 操作符)
Object类中的方法,比较的是对象的引用是否指向同一块内存地址。

一般情况下比较两个对象时比较他的值是否一致,所以要进行重写。

eclipse菜单source -----> Generate hashCode() and equals() 选择属性值。

转载于:https://www.cnblogs.com/zhangxuan/p/8317983.html

java继承,final,super,Object类,toString,equals,相关推荐

  1. Java:继承之super关键字,继承之私有权限,继承之方法重写,继承之object类,继承之简单工厂模式

    一.继承的概念及用法       继承背后的思想就是        基于已存在的类来构建新类         当从已存在类继承时,就重用了它的方法和属性,还可以添加新的方法和属性来定制新类以应对需求 ...

  2. 《Java 核心技术卷1 第10版》学习笔记------Object类的 equals 方法

    Object 简述 Object 类是 Java 中所有类的始祖, 在 Java 中每个类都是由它扩展而来的. 在 Java 中, 只有基本类型 ( primitive types) 不是对象, 例如 ...

  3. Java基础Object类的equals方法

    关于Object类中的equals方法 1.equals方法的源代码 public boolean equals(Object obj) {return (this == obj);}以上这个方法是O ...

  4. Java重写object类的equals方法

    1.Object类的equals()方法: 比较两个对象是否是同一个对象,equals() 方法比较两个对象,是判断两个对象引用指向的是同一个对象,即比较 2 个对象的内存地址是否相等.是则返回tru ...

  5. java 对象重写equals方法_Java如何重写object类的equals方法详解

    1.Object类的equals()方法: 比较两个对象是否是同一个对象,equals() 方法比较两个对象,是判断两个对象引用指向的是同一个对象,即比较 2 个对象的内存地址是否相等.是则返回tru ...

  6. java——API—— Object类——重写equals方法

    重写Object类的equals方法 如果希望进行对象的内容比较,即所有或指定的部分成员变量相同就判定两个对象相同,则可以覆盖重写equals方法. Object类的equals方法,默认比较的是两个 ...

  7. JavaSE学习总结(八)常用类(上)Object类==与equals方法的区别浅克隆的特点Scanner类String类String两种创建对象方式的区别String类的各种功能

    JavaSE学习总结(八)常用类(上)/Object类/==与equals方法的区别/浅克隆的特点/Scanner类/String类/String两种创建对象方式的区别/String类的各种功能 常用 ...

  8. Java常用类库(Object类、String类、StringBuffer类、包装类、Math类、System类)详解

    常用类库 java.lang java.lang包下放置了Java开发中常用的类和接口,所以为简化该包下类的使用,java.lang包下的类在使用时不需要导入这些类 java.lang包下常用类有: ...

  9. 重写Object类的equals方法

    package com.learn.demo01.Object;import java.util.ArrayList;public class Demo02Equals {public static ...

  10. java程序设计专业介绍_简介Java编程中的Object类

    这篇文章主要介绍了简介Java编程中的Object类,是Java入门学习中的基础知识,需要的朋友可以参考下 Object 类位于 java.lang 包中,是所有 Java 类的祖先,Java 中的每 ...

最新文章

  1. Yii 错误页面处理
  2. 最近面试一些厂的面经整理(阿里,腾讯,字节等)
  3. 数控弯管机xyz转换ybc的算法_花了一年时间开发的三维弯管机交互式转档软件(三维管子模型UG,SOLIDWORK,PRO/E文件转成YBC)...
  4. 【华为云技术分享】华为云ServiceStage-企业级微服务开发框架利器
  5. python基础0304
  6. View 绘制体系知识梳理(7) getMeasuredWidth 和 getWidth 的区别
  7. 阶段3 2.Spring_03.Spring的 IOC 和 DI_3 spring基于XML的IOC环境搭建和入门
  8. 【POJ2796】Feel Good (简单单调栈)
  9. 苍井空老师的Twitter
  10. 计算机信息管理不会电脑,不要抱怨网速慢.只怪你不会调网速★让你的电脑一点都不卡...
  11. ​​​​​​​Carryon 数数字
  12. statusStrip用法
  13. 基于堡垒主机概念的运维审计系统
  14. 即时通讯系统开发的问题详解
  15. 如何选择适合你的兴趣爱好(六十一),瓷器
  16. 在MS Word 中添加 Mathtype 插件(vbe6ext.olb不能被加载问题 已解决)
  17. Mac VScode 常用快捷键
  18. 毕业设计——基于小程序云开发的校园二手交易平台(附源码)
  19. 跨专业计算机研究生如何毕业论文,跨专业考研论文要求
  20. 毕业设计 基于大数据住房数据分析与可视化 - python

热门文章

  1. Sublime Text3的Package Control安装教程,及报错解决There Are No Packages Available For Installation...
  2. oracle11g-RHEL5.8-Kernel Parameters and Resource Limits
  3. Raphael学习笔记(4)--绘图(路径【贝塞尔曲线】)
  4. ArcGIS地图文档(mxd)过大的问题
  5. SysUtils.AdjustLineBreaks - Unix 与 Windows 的换行符互换
  6. 对称加密之AES算法的python实现
  7. man services时“没有services的手册页条目”→Centos 安装man帮助文档包
  8. 使用spring cloud,nacos,dubbo,gateway搭建微服务
  9. python工厂模式看不懂_python模式 工厂模式原理及实例详解
  10. es 时间字段聚合_ES聚合命令