
java基础
文章平均质量分 61
沉浮4317
这个作者很懒,什么都没留下…
展开
-
面向对象的设计原则,接口和抽象类区别
最近在看“深入浅出设计模式” 郭峰;y原创 2014-05-08 18:30:07 · 886 阅读 · 0 评论 -
java内部类
java内部类分为: 成员内部类、静态嵌套类、方法内部类、匿名内部类 。1内部类的共性编辑(1)、内部类仍然是一个独立的类,在编译之后内部类会被编译成独立的.class文件,但是前面冠以外部类的类名和$符号 。(2)、内部类不能用普通的方式访问。内部类是外部类的一个成员,因此内部类可以自由地访问外部类的成员变量,无论是否是private的 。(3)、转载 2014-07-03 05:25:24 · 549 阅读 · 0 评论 -
java中static、final、static final的区别
final可以修饰:属性,方法,类 final修饰的属性的初始化可以在编译期,也可以在运行期,初始化后不能被改变。 final修饰的属性跟具体对象有关,在运行期初始化的final属性,不同对象可以有不同的值。 final修饰的属性表明是一个常数(创建后不能被修改)。 final修饰的方法表示该方法在子类中不能被重写,final修饰的类表示该类不能被继原创 2014-07-01 16:55:56 · 41841 阅读 · 1 评论 -
成员内部类和静态内部类
public class Test { //java内部类分为: 成员内部类、静态嵌套类、方法内部类、匿名内部类。 //其中成员内部类和静态嵌套类需要在外部类中调用。调用的时候比较麻烦,本文主要针对这两种内部类外部调用做分析。 //方法内部类只能在定义该内部类的方法内对其实例化;匿名内部类定义的时候直接创建该类对象。 //成员内部类Test1 class Test1 { in原创 2014-07-03 04:48:05 · 1236 阅读 · 0 评论 -
java 面试题
Java面试题——先留着,以后用得着1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。2、Java有没有goto?java中的保留字,现在没有在java中使用。 3、说说&和&&的区别。&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当转载 2014-07-07 20:46:29 · 715 阅读 · 0 评论 -
java中的equals和==区别
java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean 他们之间的比较,应用双等号(==),比较的是他们的值。 2.复合数据类型(类) 当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否转载 2014-07-07 19:45:32 · 503 阅读 · 0 评论 -
java数组内存分析
基本类型和引用类型数组的类存分析:原创 2014-07-05 20:37:30 · 2261 阅读 · 0 评论 -
java异常详解
1.java中throw和throws:throw用在方法内部实际抛出异常的时候;throws用在方法原创 2014-07-11 18:25:01 · 702 阅读 · 0 评论 -
[Ljava.lang.String
Error setting expression 'teacher.password' with value '[Ljava.lang.String;@1b6c184'原创 2014-07-11 18:49:35 · 5956 阅读 · 0 评论 -
Java的IO结构图和集合结构图
转载 2014-08-07 09:37:53 · 804 阅读 · 0 评论 -
JAVA for语句中的break、continue、return使用简介
5.3.1 使用break 语句在Java 中,break语句有3种作用。 第一,你已经看到,在switch语句中,它被用来终止一个语句序列。 第二,它能被用来退出一个循环。 第三,它能作为一种“先进”goto 语句来使用。 下面对最后 2种用法进行解释。 使用break 退出循环转载 2014-08-20 11:27:16 · 1732 阅读 · 0 评论 -
容易忽略java细节,你了解吗
1.public class Something { void doSomething () { private String s = ""; int l = s.length(); } }public class Something {void doSomething () {private String s = "";int l = s.length();}}原创 2014-05-08 19:07:13 · 1015 阅读 · 0 评论 -
Sun-Java语言编码规范
u 符号命名规则符号名包括:模块名,变量名,常量名,方法(函数/子程序)名,数据区名,缓冲区名等。符号命名通常应遵循以下规则: 通用规则:1、在所有命名中,都应使用标准的英文单词或缩写。不得使用拼音或拼音缩写,除非该名字描述的是中文特有的内容,如半角、全角, 声母、韵母等。 2、所有命名都应遵循达意原则,即名称应含义清晰、明确。 3、所有命名都不易过长,应控制在规定的最大长转载 2014-08-20 14:43:19 · 833 阅读 · 0 评论 -
Java线程面试题Top50
不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员的欢迎。大多数待遇丰厚的Java开发职位都要求开发者精通多线程技术并且有丰富的Java程序开发、调试、优化经验,所以线程相关的问题在面试中经常会被提到。在典型的Java面试中, 面试官会从线程的基本概念问起, 如:为什么你需要使用线程, 如何创建线程,用转载 2014-08-21 09:24:42 · 834 阅读 · 0 评论 -
"静态方法里只能调用静态变量和静态方法"详解
静态方法里可以调用静态方法和静态变量,同时也能调用非静态方法和非静态变量。public class Test {public Test() {};public Test(int i) {this.n = i;}public static int m = 5;public int n = 10;public void fun1() {System.out.println("非原创 2014-07-02 21:18:01 · 12472 阅读 · 2 评论 -
char,byte或者short进行移位处理
在Think in Java中有这么一段话“对char,byte或者short进行移位处理,那么在移位进行之前,它们会自动转换成一个int。只有右侧的5个低位才会有用。这样可防止我们在一个int数里移动不切实际的位数。若对一个long值进行处理,最后得到的结果也是long。此时只会用到右侧的6个低位,防止移动超过long值里现成的位数。” 对上面那段话的转载 2014-06-29 08:19:39 · 2474 阅读 · 0 评论 -
java中整数类型的2进制表示
java中的4种整数类型:byte,short,int,long均采用补码表示。如下图右边所示在java中对二进制数没有“字面”表示方法。十六进制可以用OX或者Ox指示,八进制可以用O指示。下面的代码可以输出byte类型的数据的2进制表示形式:public class Test { public static void main(String[] args原创 2014-06-29 06:23:49 · 2766 阅读 · 0 评论 -
你可曾注意到类的构造方法中用this调用另外一个构造方法
public class Test{ private int x; private String s; public Test(int x) { this.x = x; } public Test(int x, String s) {//调用自身的构造方法,这种写法只能存在于构造方法中,有且只能有一个,在此构造方法中必须写在其他语句之前原创 2014-05-06 16:39:55 · 4263 阅读 · 0 评论 -
实现多态条件和规则
三个条件:继承的存在(继承是多态的基础,没有继承就没有多态)。子类重写父类的方法(多态下调用子类重写后的方法)。父类引用变量指向子类对象(子类到父类的类型转换)。子类转换成父类时的规则:将一个父类的引用指向一个子类对象,称为向上转型(upcasting),自动进行类型转换。此时通过父类引用变量调用的方法是子类重写或继承父类的方法,不是父类的方法。此时通过父类引用变量转载 2014-05-06 10:32:20 · 2134 阅读 · 0 评论 -
动态代理解析
//代理类实现4public class TestProxy implements InvocationHandler{ private Object obj; //绑定代理对象2 public Object bind(Object obj){ this.obj = obj; return Proxy.newProxyInstance(obj.class.getClassLoader,原创 2014-05-04 16:55:16 · 586 阅读 · 0 评论 -
java和c++中关于类中包含自身对象的问题
java中要包含自身对象,可以原创 2014-04-29 21:24:06 · 2739 阅读 · 1 评论 -
java 注解
Annotation在java的世界正铺天盖地展开,有空写这一篇简单的annotations的文章,算是关于Annotation入门的文章吧,希望能各位们能抛砖,共同学习...... 不讲废话了,实践才是硬道理. 第一部分:了解一下java1.5起默认的三个annotation类型: 一个是@Override:只能用在方法之上的,用来告诉别人这一个方法是改写父类的转载 2014-05-11 22:57:22 · 649 阅读 · 0 评论 -
增强的for循环(或foreach)
增强的for循环(也称为foreach循环):不用下标变量,顺序的访问整个数组。不能以其他顺序访问数组,或者改变数组的元素。for(elementType element: arrayRefVar){}emement必须声明为与数组中元素相同的数据类型增强for循环只能用在数组和实现Iterator接口的集合类(Collection以及其子类(hashmap,linklist,原创 2014-06-23 17:11:59 · 1184 阅读 · 1 评论 -
泛型详解
以前使用colletion子类的时候用到原创 2014-05-04 14:00:47 · 579 阅读 · 0 评论 -
java中的native关键字
java中的native关键字JNI是Java Native Interface的 缩写。从Java 1.1开始,Java Native Interface (JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计 的,但是它并不妨碍你使用其他语言,只要调用约定受支持就可以了。 使用ja转载 2014-05-22 23:29:16 · 555 阅读 · 0 评论 -
switch接受的参数类型
java的switch-case语句格式如下:[java] view plaincopyswitch(参数) { case 常量表达式1: break; case 常量表达式2: break; ... default: break; } 注意的地方:s转载 2014-05-23 00:50:43 · 7614 阅读 · 0 评论 -
try、catch、finally语句块中含有return
关于try、catch、finally语句块中含有return语句的几点说明:1、第一种情况:try块有return语句,catch块没有return,函数末尾也没有return:看代码:import java.util.*;public class Demo{public static void main(String args[]){int num = 10;tes转载 2014-05-23 01:12:49 · 1022 阅读 · 0 评论 -
重载与重写
方法签名=方法名+参数列表;参数列表=参数类型+参数顺序+参数个数重写:方法签名相同,返回值类型相同重载:方法名相同,参数列表不同。注:方法名相同,参数列表相同,返回值不同的函数出现在同一类的时候,编译器会提示重复的方法原创 2014-05-23 02:13:22 · 515 阅读 · 0 评论 -
Java中Collection和Collections的区别
1. Collection是集合类的一个顶级接口,其直接继承接口有List与Set而Collections则是集合类的一个工具类/帮助类,其中提供了一系列静态方法,用于对集合中元素进行排序、搜索以及线程安全等各种操作。 1) 排序(Sort)使用sort方法可以根据元素的自然顺序 对指定列表按升序进行排序。列表中的所有元素都必须实现 Comparable 接口。此列表内转载 2014-05-23 01:19:10 · 513 阅读 · 0 评论 -
java中的泛型方法
java中的泛型方法:是否拥有泛型方法,与其所在的类是否泛型没有关系。泛型的声明,必须在方法的修饰符(public,static,final,abstract等)之后,返回值声明之前。和泛型类一样,可以声明多个泛型,用逗号隔开。一个static方法,无法访问泛型类的类型参数,所以,若要static方法需要使用泛型能力,必须使其成为泛型方法。(通俗点说,如果方法参数里面有泛型,方原创 2014-06-24 19:32:11 · 3628 阅读 · 0 评论 -
Java中final、finally、finalize
简单区别: 中等区别: 虽然这三个单词在Java中都存在,但是并没有太多关联: final:java中的关键字,修饰符。 1.如果一个类被声明为final,就意味着它不能再派生出新的子类,不能作为父类被继承。因此,一个类不能同时被声明为absrtact抽象类的和final的类。 2.转载 2014-05-23 01:01:12 · 704 阅读 · 0 评论 -
递归和迭代区别(以前查询资料整理)
递归要压栈,迭代顺序执行递归是自顶向下逐步拓展需求,最后自下向顶运算。即由f(n)拓展到f(1),再由f(1)逐步算回f(n)迭代是直接自下向顶运算,由f(1)算到f(n)。 利用迭代算法解决问题,需要做好以下三个方面的工作:一、确定迭代变量。在可以用迭代算法解决的问题中,至少存在一个直接或间接地不断由旧值递推出新值的变量,这个变量就是迭代变量。 二、建立迭代关系式。所原创 2014-04-30 08:23:27 · 758 阅读 · 0 评论