随笔分类 -  Java程序员生存手册学习

这是我2013年11月份买的一本书,里面讲了一些常见的Java基础面试题,我打算在这个地方记录一些需要牢记的知识点。
摘要:1.delete是C++里面用于释放内存的运算符,而不是Java。2.当发现某个对象的引用计数为0时,就将对象列入待回收列表中,并不是马上予以销毁。3.System.gc()仅仅是一个回收请求,JVM接受这个消息后,并不是立即做垃圾回收,只是对几个垃圾回收算法加权,使垃圾回收操作容易发生,或提早发生... 阅读全文
posted @ 2014-04-14 12:58 无忧之路 阅读(188) 评论(0) 推荐(0) 编辑
摘要:题目:请写出以下程序的输出结果public class ConstructorTest2 { public static void main(String[] args) { new B("test"); }}class B extends A { public B(String s) { System.out.println(s); } public B(String s1, String s2) { this(s1 + s2 + "3"); } public B() { this("4"); ... 阅读全文
posted @ 2014-04-06 00:54 无忧之路 阅读(126) 评论(0) 推荐(0) 编辑
摘要:方法重载(overloaded),要求方法的名称相同,参数列表不相同。方法覆盖(override),要求①方法名相同,②参数列表相同,③返回值相同如果是方法覆盖,要注意以下几种情况:1、子类方法不能缩小父类的访问权限,例如父类是public,而子类是private,这样将引起编译错误。(这是由Jav... 阅读全文
posted @ 2014-04-06 00:36 无忧之路 阅读(487) 评论(0) 推荐(0) 编辑
摘要:构造器中不能new本类对象,否则进入死循环。构造器没有返回值,也没有void修饰。使用关键字super可以调用父类的构造器,而且这一句必须放在第一句的位置,否则无法编译。题目:请写出以下程序的输出。/** * 构造器题目 * Created by Heyiyong on 2014-4-6 上午12:09. */public class ConstructorTest extends BB{ public static void main(String[] args) { new ConstructorTest(5); } private int a = 1; ... 阅读全文
posted @ 2013-12-04 08:48 无忧之路 阅读(251) 评论(0) 推荐(0) 编辑
摘要:finalize()方法是Object类的一个方法,在垃圾回收器执行的时候,会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源的回收,例如文件关闭等。成员访问修饰符:默认访问:包访问。protected:本包以及子类访问。因此protected的范围要比默认范围大。 阅读全文
posted @ 2013-12-04 08:39 无忧之路 阅读(271) 评论(0) 推荐(0) 编辑
摘要:this可以引用本类的静态变量和实例变量,而在静态方法中不能引用实例变量(因为当静态方法加载时,实例变量还没有被定义和初始化)this不可以引用局部变量。例如方法的参数变量,以及在方法中定义的局部变量,都不可以使用this.来引用用法有三处:①当要明确地指出使用本类实例变量时。②把this当做参数传递。③当内部类要使用外部类的对象时。 阅读全文
posted @ 2013-12-04 08:33 无忧之路 阅读(273) 评论(0) 推荐(0) 编辑
摘要:数组的声明:int []a[] = new int[4][];//是正确的int[] array = new int[2]{1,2};//是错误的数组的长度是不可改变的,不能通过任何方式改变大小,除非重新创建一个数组。数组中每个元素的类型都相同。数组的长度.length是一个域,不是length()方法,而String的长度才是length()方法。private修饰符不能修饰类。 阅读全文
posted @ 2013-12-04 08:24 无忧之路 阅读(789) 评论(0) 推荐(0) 编辑
摘要:题目:what is the result of the expression 5.4+"3.2"?答案:当一个运算数为原始数据类型,另外一个为字符串时,则基本数据类型会转化为等价的字符串,所以答案是"5.4"+"3.2"即: 5.43.2 阅读全文
posted @ 2013-12-03 23:58 无忧之路 阅读(134) 评论(0) 推荐(0) 编辑
摘要:在Java中整型、实型、字符型被视为简单数据类型,这些类型由低级到高级分别为(byte,short,char)--int--long--float--double简单数据类型之间的转换又可以分为:●低级到高级的自动类型转换●高级到低级的强制类型转换●包装类过渡类型能够转换将高级变量转换为低级变量时,情况会复杂一些,你可以使用强制类型转换。即你必须采用下面这种语句格式:int i=99.byte b=(byte)i.char c=(char)i.float f=(float)i.可以想象,这种转换肯定可能会导致溢出或精度的下降,因此笔者并不推荐使用这种转换。 阅读全文
posted @ 2013-12-03 23:56 无忧之路 阅读(125) 评论(0) 推荐(0) 编辑
摘要:被final修饰的值,只可以被赋值一次。被final修饰的类,其所有方法就变成了final方法,该类也不能被继承。被final修饰的方法,不能在子类中重写。 public static void main(String[] args) throws Exception { final int i; i = 1; System.out.println("i = " + i); i = 2;//错误,不可以再次被赋值 } 阅读全文
posted @ 2013-12-03 23:54 无忧之路 阅读(162) 评论(0) 推荐(0) 编辑
摘要:超类Object的equals只是比较两者之间的引用对象是否相同,这一点跟操作符“==”是一样的。在基本数据类型中,“==”用于比较两者之间的值(内容)是否相等。在引用类型中,“==”用于比较两者之间所引用的对象是否相同。子类可以覆盖Object的equals方法,并且使之可以与其他对象比较内容,例如String类的equals()比较的是两者的字符串是否一样。 阅读全文
posted @ 2013-12-03 23:50 无忧之路 阅读(226) 评论(0) 推荐(0) 编辑
摘要:①char成员变量的初始值是:'\u0000'②package用来指定该文件所处的包的名称,必须位于源文件的顶端。import java.util.*;package com.hyy.test;public class MyTest {}上例会报错,由于package不在顶端。Java源文件的包声明必须在顶端。③main()方法的正确写法:第一种:public static void main(String[] args) {}第二种:(仅仅加了final) final public static void main(String[] args) { System.out... 阅读全文
posted @ 2013-12-03 23:34 无忧之路 阅读(730) 评论(0) 推荐(0) 编辑
摘要:Java原始数据类型的分类以及数据范围1.基本数据类型分为:整型(byte, short, int, long),浮点型(float, double),字符型(char),布尔型(boolean)2.各个类型范围:long,64位,最小值:负2的63次方,最大值2的63次方减一。int,32位,最小值:负2的31次方,最大值2的31次方减一。short,16位,最小值:负2的15次方,最大值2的15次方减一。byte,8位,最小值:负2的7次方,最大值2的7次方减一。 阅读全文
posted @ 2013-11-27 16:56 无忧之路 阅读(486) 评论(0) 推荐(0) 编辑
摘要:Java提供了两个字符串类:String和StringBuffer。String提供了数值不可变的字符串,而StringBuffer提供的字符串对象可以进行修改。当知道字符数据要改变的时候就可以使用StringBuffer创建,典型地,可以使用StringBuffer来动态构造字符数据。 阅读全文
posted @ 2013-11-27 16:44 无忧之路 阅读(177) 评论(0) 推荐(0) 编辑
摘要:Java注释Java提供了三种注释的方式:①单行注释://②多行注释:/* ... */③归档(JavaDoc)注释:/** * 作者:heyiyong* 时间:2013年11月27日*/注意①:多行注释不能嵌套:/* Test/* adsf */ */这样是错误的。注意②:多行注释可以嵌套单行注释,不过意义不大。/*//这个是数字变量private int id = 1;*/ 阅读全文
posted @ 2013-11-27 16:33 无忧之路 阅读(213) 评论(0) 推荐(0) 编辑
摘要:Java语言基础(二) Java关键字Java关键字比较多,我就不列举出来了,只记录一些常用的小知识点:①Java的关键字只有小写。②then、sizeof都不是Java的关键字,熟悉C++的程序员一定要注意。③大写的NULL不是java的关键字。④标识符java不是关键字,要小心注意。⑤String只是一个类不是关键字。 阅读全文
posted @ 2013-11-27 16:22 无忧之路 阅读(217) 评论(0) 推荐(0) 编辑
摘要:Java标识符的问题:①不可以以数字开头int 123number = 0; //错误②可以使用任意的货币符号(¥和$等等)中文也可以int $i = 0; //正确int ¥i = 1;//正确int 学号 = 1;//正确③Java使用的是Unicode编码④不可以使用@符号作为标识符int heyiyong@qq = 1;//错误 阅读全文
posted @ 2013-11-27 16:15 无忧之路 阅读(219) 评论(0) 推荐(0) 编辑

无忧之路
点击右上角即可分享
微信分享提示