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步伐脱颖 ...
随机推荐
- lightoj 1224
很简单的Trie树,记录每个前缀的次数,dfs一次Trie即可 #include<set> #include<map> #include<list> #includ ...
- 【原】实验室签到PHP版本
表单 <html> <body> <h1>实验室自动签到测试</h1> <h2>输入学号和登录密码(建议自己改过密码后再来录入您的数据)&l ...
- bzoj 1095 [ZJOI2007]Hide 捉迷藏(括号序列+线段树)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1095 [题意] 给定一棵树,树上颜色或白或黑而且可以更改,多个询问求最远黑点之间的距离 ...
- hadoop面试题答案
Hadoop 面试题,看看书找答案,看看你能答对多少(2) 1. 下面哪个程序负责 HDFS 数据存储.a)NameNode b)Jobtracker c)Datanode d)secondary ...
- ubuntu免验证登陆权限问题
由于经常ssh到服务器,每次输入密码很烦.就传了本机公钥到服务器. 和所有教程将的一样,做起来挺简单的. 本机ssh-keygen -t rsa生成公钥和密钥. 将公钥传至服务器,用户目录下.ssh/ ...
- stm32 时钟配置——外部时钟倍频、内部时钟倍频 【worldsing笔记】
stm32可选的时钟源 在STM32中,可以用内部时钟,也可以用外部时钟,在要求进度高的应用场合最好用外部晶体震荡器,内部时钟存在一定的精度误差. 准确的来说有4个时钟源可以选分别是HSI.LSI.H ...
- 单独批次性任务采用MySQL定时器解决需求
有时候我们在开发的时候会遇到一些需求是在某个固定的时间段实现某些特殊功能,只做一次或者有规律的每分钟一次每小时一次,那么这个时候我们可以启用MySQL的定时器来帮忙解决该问题. 比如,有一个场景是要求 ...
- 【Away3D代码解读】(五):动画模块及骨骼动画
动画模块核心存放在away3d.animators包里: Away3D支持下面几种动画格式: VertexAnimator:顶点动画 SkeletonAnimator:骨骼动画 UVAnimator: ...
- C++学习笔记(十四):模板
模板就是实现代码重用机制的一种工具,它可以实现类型参数化,即把类型定义为参数,从而实现了真正的代码可重用性.模版可以分为两类,一个是函数模版,另外一个是类模版.Java中对应的技术称为泛型. 函数模板 ...
- SQLite数据库入门教程
SQLite数据库入门教程 SQLite 是一个开源的嵌入式关系数据库,实现自包容.零配置.支持事务的SQL数据库引擎. 其特点是高度便携.使用方便.结构紧凑.高效.可靠. 与其他数据库管理系统不同, ...