java继承,final,super,Object类,toString,equals,
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() 选择属性值。
java继承,final,super,Object类,toString,equals,的更多相关文章
- Object类----toString,equals,hashcode
一.toString 的应用方法与覆写 public class testoveridetoString { public static void main(String[] args) { /*ob ...
- JAVA之旅(九)——Object类,equals,toString,getClass,内部类访问规则,静态内部类,内部类原则,匿名内部类
JAVA之旅(九)--Object类,equals,toString,getClass,内部类访问规则,静态内部类,内部类原则,匿名内部类 天天被一些琐事骚扰,学习还得继续 一.Object类 Obj ...
- 1.9(java学习笔记)object类及toString()与equals()方法
object类 java中objec是所有类公共的父类,一个类只要没有明显的继承某一类,那么它就是继承object类. 例如 class Person {......};和class Person e ...
- java.lang.Object类与equals()及toString()的使用
1.Object类是所有Java类的根父类 2.如果在类的声明中未使用extends关键字指明其父类,则默认父类为java.lang.Object类 3.Object类中的功能(属性.方法)就具有通用 ...
- Java Object类的equals()方法
所有类都从Object类中继承了equals方法,Object类中equals方法源代码如下: public boolean equals(Object obj) { retu ...
- Java Object类及其equals方法
基本概念: Object类位于java.lang包中,java.lang包包含着Java最基础和核心的类,在编译时会自动导入: Object类是所有Java类的祖先.每个类都使用 Object 作为超 ...
- Java提高学习之Object类详解(1)
转自:http://www.importnew.com/10304.html 问:什么是Object类? 答:Object类存储在java.lang包中,是所有java类(Object类除外)的终极父 ...
- 【JAVA基础】10 Object类
1. Object类概述 是类层次结构的根类 每个类都使用 Object 作为超类 所有类都直接或者间接的继承自该类 所有对象(包括数组)都实现这个类的方法. 2. Object的构造方法 publi ...
- 关于Object类的equals方法和hashCode方法
关于Object类的equals的特点,对于非空引用: 1.自反性:x.equals(x) return true : 2.对称性:x.equals(y)为true,那么y.equals(x)也为tr ...
- 代码块和Java的API及Object类
代码块 局部代码块 特点: 以”{}”划定的代码区域,此时只需要关注作用域的不同即可 方法和类都是以代码块的方式划定边界的 构造代码块 优先于构造方法执行,构造代码块用于执行所有对象均需要的初始化动作 ...
随机推荐
- java.lang.TypeNotPresentException: Type javax.xml.bind.JAXBContext not present错误
今天在搭建spring cloud的时候,发现一直报“java.lang.TypeNotPresentException: Type javax.xml.bind.JAXBContext not pr ...
- scikit_learn逻辑回归类库
来自:刘建平 1.概述 在scikit-learn中,与逻辑回归有关的主要有3个类.LogisticRegression, LogisticRegressionCV 和 logistic_regres ...
- ZZNU 2095 : 我只看看不写题
把所有时间加起来,最后从大到小排序,一定要把大的先减去.注意花费的时间都是1,这一秒用过就不能再用了,所有用到了并查集的部分知识 #include<iostream> #include&l ...
- Ubuntu下postgresql安装及常见错误处理
依赖工具库 注意: 默认用户名是postgres 以下命令是Ubuntu操作系统中的命令 make GCC Zlib 安装命令:sudo apt-get install zlib1g-dev 注意有些 ...
- MySQL 的 DISTINCT 应用于2列时
SELECT DISTINCT vend_id告诉MySQL只返回不同(唯一)的 vend_id行,也就是在vend_id 有重复的行中,只保留一行,其他的不作输出.比如我创建了如下的student表 ...
- IntelliJ IDEA平台下JNI编程(五)—本地C代码创建Java对象及引用
本文学习如何在C代码中创建Java对象和对象数组,前面我们学习了C代码中访问Java对象的属性和方法,其实在创建对象时本质上也就是调用构造函数,因此本文知识学习起来也很轻松.有了前面学习数组创建的方法 ...
- variable_scope
1. with tf.variable_scope("a"): b=tf.get_variable(name="g",initializer=12) print ...
- C# ---- GC中代的递增规律
只有当对象所在代被 Collect 了,改对象所在代才会加 1 ,代值最大为 2 示例1: using System; namespace myMethod { class People{} clas ...
- requests库使用:通过cookie跳过验证码登录,并用Session跨请求保持cookie
拿我平时测试的一个系统为例,从UI层面来说必须先登录才可以进行后续操作,但是我在测试接口文档提供的接口时,发现并不需要登录,每个接口只要传参就可以正常返回.原因是我们这边专门弄了一个接口包来统一管理常 ...
- Jumpserver3.0部署(Centos6.x)
1.jumpserver基础环境准备[root@jumpserver ~]# yum -y install epel-release[root@jumpserver ~]# yum clean all ...