JAVA小问题总结
来源:互联网 发布:java file 绝对路径 编辑:程序博客网 时间:2024/06/08 16:46
Q1 ‘==’与equals()方法区别?
‘==’用法
case1:用于比较基本类型变量的值是否相等
case2:如果变量所指为对象类型,则比较的是否引用同一对象
例:Object obj=new Object();//变量obj存放在栈中,其值为所指对象内存首地址,new Object() 对象存放在堆内存中
equals()方法
比较两个独立对象的值是否相等
例:
String str1=new String("hh");String str2=new String("hh");str1.equals(str2);//结果是true 因为两个字符串的值一样 str1==str2;//结果是false 引用不同
备注:如果一个类没有equals方法则默认继承Object类的equals方法如下
boolean equals(Object o){return this==o;//可以看出默认还是'=='这就是为什么对两个对象equals一直为false}
所以如果比较两个对象值需要覆写equals方法,自己可以定义规则,决定什么时候判定两个对象相等。
Q2:static成员变量与实例变量区别?
1.静态成员变量也称类变量,只要程序加载了该类的字节码,即使没有生成对象,也可为该变量分配内存,也可使用(通过类名访问)
2.实例变量也称对象变量只能实例对象才可使用
public class Obj{public static int var1=0;public int var2=0;public Obj(){ var1++;//没new 一个对象时 var1的值加1,且这个变量是所有该对象共享的,可以统计生成对象个数 var2++;//每次new 一个对象值都为1}
备注:static 方法不可以调用内部非静态方法(非静态方法必须生成实例对象才可调用,而static方法不需要生成对象就可以调用)
Q3;基本类型封装类与基本类型的区别?
1.int 与Integer
1.默认int 为0 ,Integer为赋值为Null(因此Integer可以区分是否赋初值,在JSP开发时页面默认显示为空字符串,而int显示为0)、
2.Integer包含了操作整数相关的方法,如将一个字符串转换为整数,获取int类型值得范围
Q4:Math中三个取整方法区别?例10.5 与-10.5
ceil() 向上取整 11 -10
floor() 向下取整10 -11
round() 等效于floor(x+0.5) 11 -10
Q5:Overload () 与Override()方法的区别?
Overload 重载 :一个类中可以有多个同名的方法,参数列表不同。参数的个数,参数的类型不同与返回值的类型,抛出的异常多少无关。
1.jvm根据不同的参数类型,个数,或顺序(需要类型不同)
2.不可通过返回值类型、异常书面、权限重载方法
3.若继承时父类方法为private则子类不能重载只是定义一个新方法
Override 重写:子类可以重写父类的方法,或者接口实现。
1.子类的方法可以与父类的方法名及参数相同,通过子类实例对象调用此方法,是调用的子类方法。
2.子类方法 只能抛出比父类更少的异常或者异常的子类(原因:子类可以解决父类的问题,但不能比父类有更多的问题)
3.父类方法为private则此方法不成为Override方法,是一个新的方法
4.返回值必须相同
5.面向对象编程中多态的一种体现
- JAVA小问题总结
- java路径问题小总结
- java路径问题小总结
- rcp小问题总结
- 小问题总结
- ACM小问题总结
- 数据库小问题总结
- 推广问题小总结
- 网站小问题总结
- iOS小问题总结
- 常见小问题总结
- AX2012小问题总结
- 一些小问题总结
- 新手小问题总结
- 点滴小问题总结
- 小问题总结
- 实习问题小总结
- 日常小问题总结
- Nginx的安装
- .Net下RabbitMQ的使用(2) -- 发送接收消息
- iOS调试技巧
- Atmel官网用途发现之旅
- 关于Android中android:marginBottom不起作用以及android:signleLine对文字的影响
- JAVA小问题总结
- springMVC的容器初始化过程
- IOS中获取各个文件的目录路径的方法和NSFileManager类
- 【原创】PHP程序员进阶学习书籍参考指南
- Error:failed to find Build Tools revision 23.0.2
- Matlab绘图-很详细,很全面
- .Net下RabbitMQ的使用(1) -- 初识RabbitMQ
- 寒假集训 1007
- 项目名称更改后报错