java中object类怎么赋值_Java面向对象之Object类
一、继承体系的老祖宗是Object类。(Object类是所有类的父类)
当我们不希望在程序中某些类被继承,某些方法被重写,某些数据被修订。就是final关键字闪亮登场的时候了。
一个类没有使用extends关键字明确标识继承关系,则默认继承Object类(包括数组)
Java中每个类都可以使用Object中定义的方法。
二、Object.equals(); 之前判断的是两个引用是否一致;
String类重写了equals方法,判断了两个字符串的值是否一致。
测试类的main方法里新建两个Animal实例,用equals作比较,最后打印false
Animal Animala = new Animal();
Animal Animalb = new Animal();
Animala.setName("花花");
Animalb.setName("花花");
System.out.println(Animala.equals(Animalb)); //false
在用equals方法比较两个字符串,结果就是true
String aString = new String("花花");
String bString = new String("花花");
System.out.println(aString.equals(bString)); // true
在animal类中重写equals方法。
public boolean equals(Object obj) {
if(obj==null) {
return false;
}
Animal tempAnimal = (Animal)obj;
if(this.getName().equals(tempAnimal.getName())){
return true;
}else {
return false;
}
}
在执行如下代码就是true.
Animal Animala = new Animal();
Animal Animalb = new Animal();
Animala.setName("花花");
Animalb.setName("花花");
System.out.println(Animala.equals(Animalb)); //true
Java.lang.NullPointerException 空指针异常。
如下,打印实例对象,会默认调用toString方法,所以调了没调结果都一样。包+类名+@+内存位置(通过hash算法去得到的)。
Animal Animala = new Animal();
System.out.println(Animala); // com.immoc.animal.Animal@7852e922
System.out.println(Animala.toString()); // com.immoc.animal.Animal@7852e922
三、final关键字
1.首先将final加到Animal类前面(或后面,两者顺序可以互换)。会发现继承Animal的子类全都报错了。
final class:该类没有子类 public final class\ final public class
final 方法:子类对象不能重写父类的某个方法,但这个方法依然可以被子类继承使用。
final添加到方法中的局部变量:再具体使用之前进行赋值即可,一旦赋值不允许被修改。感觉类似js的const。
final 方法中的局部变量:只要在具体被使用之前进行赋值即可,一旦赋值不允许被修改类中成员属性:赋值过程:1、定义直接初始化 2、构造方法 3、构造代码块。
当final修饰的变量是引用类型的时候,在实例化之后不允许修改引用地址。但对象里的属性值是可以修改的。
用static和final修饰的变量代表,全局静态不可修改的变量。(只需要加载一次,不需要之后修订的内容可以通过这两个关键字的内容来进行修饰)。
public static final int temp = 12;
四、注解
JDK1,5版本引入的一个新特性
可以声明在包、类、属性、方法、局部变量、方法参数等的前面,用来对这些元素进行说明、注释。相当于一个标记。
@Override标识该方法重写了父类的eat方法。
注解:
按照运行机制分:
①源码注解:@Override 源代码当中有用,编译成class文件就没用了。
②编译时注解:源码和class文件都存在。
③运行时注解: 在运行阶段还起作用,甚至会影响运行逻辑的注解。
按照来源分:
①来自JDK的注解。
②来自第三方的注解。
③我们自己定义的注解。
五、父类方法。
public Animal create() {
return new Animal();
}
子类重写create方法可以这么写:
@Override
public Dog create() {
// TODO Auto-generated method stub
return new Dog();
}
子类重写父类方法的时候,向下兼容,可以返回父类实例,也可以返回子类实例。
java中object类怎么赋值_Java面向对象之Object类相关推荐
- java中date类型如何赋值_Java 中的类型传递问题解惑
点击上方☝SpringForAll社区 轻松关注!及时获取有趣有料的技术文章 来源: https://blog.biezhi.me/2018/11/java-pass-by-value.html 我之 ...
- java中为final变量赋值的几种方式
java中为final变量赋值的几种方式 前言 使用final修饰变量,很多人第一时间想到的就是不可变.然后以为变量必须得在声明的时候就为其赋初始值,其实不然,本文将详细讲解java中使用final修 ...
- java中的包如何定义_java中包的定义与使用
包的本质就属于一个文件夹,用来解决类名称重名的问题. 包的定义:在源文件首行使用package包名称: package www.myfile.java; public class Test{ publ ...
- Java中long类型直接赋值大数字的问题
原文出处: Java中long类型直接赋值大数字的问题 作者: Jet Mah from Java堂 声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处.作者信息及此声明! 在J ...
- java中小数的处理:高精度运算用bigDecimal类,精度保留方法,即舍入方式的指定
java中小数的处理:高精度运算用bigDecimal类,精度保留方法,即舍入方式的指定 2016年05月11日 11:20:08 阅读数:6336 一. 计算机的小数计算一定范围内精确,超过范围只能 ...
- java怎么给类中的私有变量赋值_Java核心技术笔记分享------第二章 类与对象
对象与类 一.面向对象思想的概述 1>面向对象与面向过程: 二者都是一种思想,面向对象是相对于面向过程而言的.面向过程强调的是功能行为.面向对象,将功能封装进对象,强调具备了功能的对象. 面向对 ...
- java怎么给类中的私有变量赋值_Java学习笔记分享 如何理解接口抽象类和关键字...
不知不觉中,千锋重庆学习Java已经半个月了,同学们感觉受益匪浅.有一个同学本来是软件编程专业基础却是意外的差,什么标识符.变量的命名规则.方法的定义.数组.面向对象的封装.继承.多态,还有接口.抽象 ...
- Java如何扑克牌给扑克牌赋值_JAVA学习前十天:小结、面向对象之”扑克牌“例子...
2016年4月26号正式步入JAVA学习课堂,学习了第一节JAVA课程,由于以前有C语言基础,所以课程有点快! 第一天:学习了教材的第一部分,第一部分总共两章,分别是JAVA简介和JAVA基础语法. ...
- java里面比较重要的东西_Java面向对象程序设计中很重要的一些东西
面向对象具有多方面的吸引力.对于管理人员,它实现了更快和更廉价的开发与维护过程.对于分析与设计人员,能生成清晰.易于维护的设计方案.对于程序开发人员,对象的理解又是如此浅显.此外,面向对象的工具以及类 ...
最新文章
- 模拟人脑项目彻底宣告失败:耗资10亿欧,10年前轰动全球,如今死得悄无声息...
- freemarker模板文件中文本域(textarea)的高度自适应实现
- 实战并发编程 - 05等效不可变对象CopyOnWriteArrayList适用场景剖析_写时复制COW
- slq2000数据库升级到sql2012
- springboot接收浏览器发送delete请求( method not allowed 405解决方法)
- C++从入门到放肆!
- 【纪中集训】2019.08.13【省选组】模拟3
- sklearn一般流程
- java 读取本地文件_java 读取本地文件实例详解
- MQ 消息队列时如何确保消息不丢失
- 如何关闭搜狗输入法软键盘的热键
- bootstrap黑色酷炫IT行业个人博客模板
- web期末网站设计大作业:动漫网站设计——龙猫(10页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 动漫漫画网页设计...
- 【echarts高级用法】在地理坐标系中镶嵌柱状图,在加上时间轴让图动起来
- 机器学习: 决策数与随机森林
- [Russell Han] 24 | 数据库基础 | 关系模型
- 三星笔记本bios设置里找不到U盘启动盘的解决方法
- mysql查询1万条数据要1秒钟_SQL查询效率:100万数据查询只需要1秒钟
- 同源序列比对和进化树的绘制(转)
- 开源的AI算法可以进行物体识别,动物识别