随笔分类 - java
摘要:abstract的method不可以是static的,因为抽象的方法是要被子类实现的,而static与子类扯不上关系!native方法表示该方法要用另外一种依赖平台的编程语言实现的,不存在着被子类实现的问题,所以,它也不能是抽象的,不能与abstract混用。例如,FileOutputSteam类要
阅读全文
摘要:下面程序的输出结果是多少?importjava.util.Date;public class Test extends Date{ public static void main(String[] args) { new Test().test(); } public void test(){ Sy
阅读全文
摘要:面向对象的编程语言有4个主要的特征:封装,继承,多态,抽象 多态的实现机制 计算机软件系统是现实生活中的业务在计算机中的映射,而现实生活中的业务其实就是一个个对象协作的过程。面向对象编程就是按现实业务一样的方式将程序代码按一个个对象进行组织和编写,让计算机系统能够识别和理解用对象方式组织和编写的程序
阅读全文
摘要:.String不是最基本的数据类型 .String不可被继承 .String s = "Hello";s = s + " world!";这两行代码执行后,原始的String对象中的内容到底变了没有 基本数据类型包括byte、int、char、long、float、double、boolean和sh
阅读全文
摘要:.内部类 .nested 内部类 .匿名内部类 .内部类可以引用它的包含类的成员吗?有没有什么限制? 就是在一个类的内部定义的类,内部类中不能定义静态成员(静态成员不是对象的特性,只是为了找一个容身之处,所以需要放到一个类中而已,这么一点小事,你还要把它放到类内部的一个类中,过分了啊!提供内部类,不
阅读全文
摘要:.接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concrete class)?抽象类中是否可以有静态的main方法? .抽象类和接口的区别 接口可以继承接口。抽象类可以实现(implements)接口,抽象类可以继承具体类。抽象类中可以有静态的main方
阅读全文
摘要:Overload是重载的意思,Override是覆盖的意思,也就是重写。重载Overload表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同)。重写Override表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子类创建的实例对象调用这个方法
阅读全文
摘要:请说出作用域public,private,protected,以及不写时的区别这四个作用域的可见范围如下表所示。说明:如果在修饰的元素上面没有写任何访问修饰符,则表示friendly。 作用域 当前类 同一package 子孙类 其他packagepublic √ √ √ √protected √
阅读全文
摘要:在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,
阅读全文
摘要:.final .finally .finallize .final定义的变量,是引用不变,引用的对象可变 final 如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。 将变量或方法声明为final,
阅读全文
摘要:1. if(username.equals(“zxx”){} username可能为NULL,会报空指针错误;改为"zxx".equals(username) 2. int x = 1; return x==1?true:false; 这个改成return x==1;就可以!
阅读全文
摘要:int是java提供的8种原始数据类型之一。Java为每个原始类型提供了封装类,Integer是java为int提供的封装类。int的默认值为0,而Integer的默认值为null,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况,例如,要想表达出没有参加考试和考试成绩
阅读全文
摘要:.==和equal .栈内存和对内存 单独把一个东西说清楚,然后再说清楚另一个,这样,它们的区别自然就出来了,混在一起说,则很难说清楚) ==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符
阅读全文
摘要:.补码(负数在计算机中的存储) .百亿计算器 首先要明白这道题目的考查点是什么,一是大家首先要对计算机原理的底层细节要清楚、要知道加减法的位运算原理和知道计算机中的算术运算会发生越界的情况,二是要具备一定的面向对象的设计思想。首先,计算机中用固定数量的几个字节来存储的数值,所以计算机中能够表示的数值
阅读全文
摘要:.clone 要实现cloneable接口; .深度clone和浅度clone .对象.clone() 1. Clone&Copy 假设现在有一个Employee对象,Employee tobby =new Employee(“CMTobby”,5000),通 常我们会有这样的赋值Employee
阅读全文
摘要:移位运算 左移n位,相当于乘以2的n次 右移n位,相当于除以2的n次,取整 2 << 3,因为将一个数左移n位,就相当于乘以了2的n次方,那么,一个数乘以8只要将其左移3位即可,而位运算cpu直接支持的,效率最高,所以,2乘以8等於几的最效率的方法是2 << 3。
阅读全文
摘要:char型变量是用来存储Unicode编码的字符的,unicode编码字符集中包含了汉字,所以,char型变量中当然可以存储汉字啦。不过,如果某个特殊的汉字没有被包含在unicode编码字符集中,那么,这个char型变量中就不能存储这个特殊汉字。补充说明:unicode编码占用两个字节,所以,cha
阅读全文
摘要:short s1 = 1; s1 = s1 + 1 对于short s1 = 1; s1 = s1 + 1;由于s1+1运算时会自动提升表达式的类型,所以结果是int型,再赋值给short类型s1时,编译器将报告需要强制转换类型的错误。对于short s1 = 1; s1 += 1;由于 +=是ja
阅读全文
摘要:byte,short,char,int 在switch(expr1)中,expr1只能是一个整数表达式或者枚举常量(更大字体),整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转换为int,所以,这些类型以及这些类型的包装类型也是可以的。显然,l
阅读全文
摘要:break;continue;跳出多层循环 break是结束整个循环体 continue是结束单次循环 跳出多层循环: 可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break语句,即可跳出外层循环。例如,ok:for(int i=0;i<10;i++) { for(in
阅读全文

浙公网安备 33010602011771号