Objec类和final关键字的用法
一、在继承中,子类继承父类,那父类继承谁呢,java中如果类没有指定继承谁,那么就默认继承Object类,object类是所有对象的直接或者间接的父类,根类,或者叫做基类,它里面定义的功能所有的对象都应该具备。
二、object类中的toString()方法:java中所有对象都有toString这个方法,它输出的是对象所属的类名,@加上内存地址(十六进制的)。具体代码体现如下:
class DuoDemo
{
public static void main(String[] args)
{
Person p=new Person();
//
System.out.println(p);//默认调用toString这个方法
//输出对象所属类名+@+十六进制的hashcode值
//System.out.println(p.toString());
System.out.println(p.getClass().getName()+"@"+Integer.toHexString(p.hashCode()));
}
//getClass()获取类和类名;getName()获取类名;Integer调用转换为十六进制的方法把hashCode转换为十六进制数:
}
class Person
{
void eat()
{
System.out.println("吃饭");
}
}
三、Object类中equals的()的方法,用来比较两个对象是否相等
1、如果定义一个Person 类,Person p1=new
Person();Person p2=new Person();
那么p1和p2在栈中分别指向堆中两个不同的对象,所以两个对象的地址值是不同的,那么
System。out
。println(p1.equals(p2));输出结果就是false
2.如果Person
p1=new
Person();
Person
p2=p1;
p1指向堆中的对象,又把内存地址复制一份给了p2,所以p1和p2都指向堆中的对象。堆中只有一个对象。所以只有一个内存地址,那么
System。out、println(p1.equals(p2));输出结果为true
3、当然此处比较的是内存地址,如果把equals换成是==号,也可以。
四、final关键字的用法:final
最终的,最后的,它可以用来修饰类、变量、方法
1.被final
修饰的类,是最终类,不能够被继承,这在一定程度上保证了程序的安全性。
2.被final修饰的变量,就成为了常量,只能进行一次赋值,不能进行第二次赋值,而且变量名要大写。,如果这个变量有多个单词组成,那么单词之间用_号连接。
如:public
static final
PI=3.14;
注意:内部类中定义在类中的局部位置上时,只能访问该局部被fina
修饰的局部变量
3.被fianl修饰的方法,不能被重写
Objec类和final关键字的用法的更多相关文章
- Java的static和final关键字的用法
static关键字的用法 static的意思是"'静态的",在java里面可用于修饰属性和方法. static关键字的应用应注意以下几种情形: 1.static作用于某个字段,一个 ...
- java中的final关键字的用法
一. 什么是final关键字? final在Java中是一个保留的关键字,可以声明成员变量.方法.类以及本地变量.一旦你将引用声明作final,你将不能改变这个引用了,编译器会检查代码,如果你试图将变 ...
- java基本数据类型总结 类型转换 final关键字的用法
java基本数据类型总结 Java数据类型总结 数据类型在计算机语言里面,是对内存位置的一个抽象表达方式,可以理解为针对内存的一种抽象的表达方式.接触每种语言的时候,都会存在数据类型的认识,有复杂的. ...
- 浅谈final关键字的用法
1.final变量: 常和static一起使用,修饰成员变量或者本地变量.修饰后为常量,不可以再次初始化(再次引用),例如public static final String SUCCESS= &qu ...
- final关键字的用法
final关键字的作用 1.被final修饰的类不能被继承 报错信息:cannot inherit from final 'com.dajia.test.Animal' 2.被final修饰的方法不能 ...
- Java基本数据类型总结、类型转换、常量的声明规范,final关键字的用法
1 Java 基本数据类型 变量就是申请内存来存储值.也就是说,当创建变量的时候,需要在内存中申请空间. 内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据. 因此,通过 ...
- 【Java基本功】一文读懂final关键字的用法
本文主要介绍了final关键字的基本使用方法及原理 final关键字可以修饰类.方法和引用. 修饰类,该类不能被继承.并且这个类的对象在堆中分配内存后地址不可变. 修饰方法,方法不能被子类重写. 修饰 ...
- 高级类特性----final关键字
final 关键字 在Java中声明类.属性和方法时,可使用关键字final来修饰. final标记的变量(成员变量或局部变量)即成为常量,只能赋值一次. final标记的类不能被继承.提高安全性,提 ...
- Android源码中final关键字的用法及final,finally,finalize的区别
Android开发的学习流程 final,finally,finalize的区别 Android的发展越来越快,Android开发人员越来越多,当两种情况碰撞,在诸多开发者中跟紧Android步伐脱颖 ...
随机推荐
- [Irving]SqlServer 标量函数 详解【转】
--创建用户定义函数.这是一个已保存 Transact-SQL 或公共语言运行时 (CLR) 例程,--该例程可返回一个值.用户定义函数不能用于执行修改数据库状态的操作.--与系统函数一样,用户定义函 ...
- C# 检测机器是否有声卡设备
有时候我们的程序需要进行音频的播放,则我们首先需要判断机器是否有声卡能够进行音频的播放.在网上找了一下没有发现太多关于如何检机器是否有声卡的例子.我在看了一些文档后自己写了一个小测试程序,如果机器装有 ...
- [原创]一种简单的cocos2d-x动态更新方案
介绍一个曾经在cocos2d-x项目中使用过的动态更新方案,这个方案简单易行,针对小的项目非常有用. 这个方案有两个核心的关键词:JSON,MD5. 原理可以简单地概括为:服务端持有所有动态更新资源文 ...
- [原创]使用squish打包与混淆cocos2d-x的lua脚本
squish是一个开源的用于打包lua脚本的小工具,它的主要功能是将多个lua文件整合成一个文件,并在此基础上做压缩和混淆等处理,混淆和压缩后的代码可以直接被执行而不需要先做解压还原等操作. 它的gi ...
- 2015北京网络赛B题 Mission Impossible 6
借用大牛的一张图片:模拟 #include<cstdio> #include<cmath> #include<cstring> #include<algori ...
- 自己常用的js方法
$(function(){ tabview("#zcfw_list1"); tabview("#zcfw_list2"); tabview("#zcf ...
- Apache Hadoop 源码阅读
总之一句话,这些都是hadoop-2.2.0的源代码里有的.也就是不光只是懂理论,编程最重要,还是基本功要扎实啊.... 在hadoop-2.2.0的源码里,按Ctrl + Shift + T . 跳 ...
- Java序列化之transient和serialVersionUID的使用
package FileDemo; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IO ...
- PCb过孔大小设置 / 丝印层字符尺寸设置
PCb过孔大小一般设置为:内孔(孔尺寸)0.30(12mil),外壳(直径)0.6(24mil) 常用过孔设置: 内径: 15mil(0.381mm) 30mil(0.762mm) 外径: 20mi ...
- iOS - Xcode升级到5.1& iOS升级到iOS7.1问题:Undefined symbols for architecture x86_64
Xcode升级到5.1 新特性之一就是默认让所有App都通过64位编译器编译.原来在Xcode5.0.x的时候默认的Standard architectures只有(arm7,armv7s),到5.1 ...