![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
文章平均质量分 74
asdfghjkl12358
愿结交所有值得结交的朋友
展开
-
如何获取父类的泛型的具体类型
如何获取父类的泛型的具体类型问题的关键:clazz其实应该是T.class,clazz该如何获取???public abstract class BaseDaoImpl<T> implements BaseDao<T>{ private SessionFactory sessionFactory ; //比如Class<User> c...原创 2013-03-19 21:47:18 · 254 阅读 · 0 评论 -
内部类详解
内部类本文主要参照网上的一些相关文章、以及thinking in java 第三版,对java里面的内部类进行了一个较为详细的总结内部类是指在一个外部类的内部再定义一个类。内部类作为外部类的一个成员,并且依附于外部类而存在的。内部类可为静态,可用protected和private修饰(而外部类只能使用public和缺省的包访问权限)。内部类主要有以下几类:成员内...原创 2013-01-02 14:39:59 · 82 阅读 · 0 评论 -
ClassLoader
1.类加载器概述 类加载器是一个对象,是负责加载类.在JVM是通过类加载器的调用LoadClass方法加载类对象. 类加载器结构: 1. 引导类加载器(bootstrap class loader):它用来加载 Java 的核心库,是用原生代码来实现的[null] 2. 扩展类加载器(extensions class loader):它用来加载 Java 的扩展库。Java 虚拟机的实现会提供一个...原创 2012-12-29 15:07:02 · 78 阅读 · 0 评论 -
Overload 和Override 的区别。Overloaded 的方法是否可以改变返回值的类型?
Overload 是重载的意思,Override 是覆盖的意思,也就是重写。重载Overload 表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同)。重写Override 表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子类创建的实例对象调用这个方法时,将调用子类中的定义方法,这相当于把父类中定义的那个完全相同的方法给...原创 2012-12-27 15:01:14 · 101 阅读 · 0 评论 -
请说出作用域public,private,protected,以及不写时的区别
这四个作用域的可见范围如下表所示。说明:如果在修饰的元素上面没有写任何访问修饰符,则表示friendly。作用域 当前类 同一package 子孙类 其他packagepublic √ √ √ √protected √ ...原创 2012-12-27 14:56:01 · 672 阅读 · 0 评论 -
下面的代码有什么不妥之处?
1. if(username.equals(“zxx”)){}username可能为null。如果为null就是null.equals("xyz"),会出现NullPointerException异常。正确的应该是“xyz”.equals(username)2. int x = 1; return x==1?true:fals如果要返回boolean, 那么可以直接retu...原创 2012-12-27 14:52:49 · 136 阅读 · 0 评论 -
Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
Math 类中提供了三个与取整有关的方法:ceil 、floor、round,这些方法的作用与它们的英文名称的含义相对应,例如,ceil 的英文意义是天花板,该方法就表示向上取整, Math.ceil(11.3)的结果为12,Math.ceil(-11.3)的结果是-11;floor 的英文意义是地板,该方法就表示向下取整,Math.ceil(11.6)的结果为11,Math.ceil(-1...原创 2012-12-27 14:38:46 · 90 阅读 · 0 评论 -
Integer 与int 的区别
int 是java 提供的8 种原始数据类型之一。Java 为每个原始类型提供了封装类,Integer 是java为int 提供的封装类。int 的默认值为0,而Integer 的默认值为null,即Integer 可以区分出未赋值和值为0 的区别,int 则无法表达出未赋值的情况,例如,要想表达出没有参加考试和考试成绩为0 的区别,则只能使用Integer。在JSP 开发中,Integer...原创 2012-12-27 14:31:49 · 92 阅读 · 0 评论 -
是否可以从一个static 方法内部发出对非static 方法的调用?
不可以。因为非static 方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static 方法调用时不需要创建对象,可以直接调用。也就是说,当一个static方法被调用时,可能还没有创建任何实例对象,如果从一个static 方法中发出对非static 方法的调用,那个非static 方法是关联到哪个对象上的呢?这个逻辑无法成立,所以,一个static 方法内部...原创 2012-12-26 16:38:39 · 156 阅读 · 0 评论 -
静态变量和实例变量的区别?
在语法定义上的区别:静态变量前要加static 关键字,而实例变量前则不加。在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。总之,实例变量必须创建对象后才可以通过这...原创 2012-12-26 16:05:25 · 60 阅读 · 0 评论 -
"=="和equals 方法究竟有什么区别?
==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符。如果一个变量指向的数据是对象类型的,那么,这时候涉及了两块内存,对象本身占用一块内存(堆内存),变量也占用一块内存,例如Objet obj = new Object();变量obj 是一个内存,newObject()是另一个内存,...原创 2012-12-26 15:39:01 · 98 阅读 · 0 评论 -
char 型变量中能不能存贮一个中文汉字?为什么?
char 型变量是用来存储Unicode 编码的字符的,unicode 编码字符集中包含了汉字,所以,char型变量中当然可以存储汉字啦。不过,如果某个特殊的汉字没有被包含在unicode 编码字符集中,那么,这个char 型变量中就不能存储这个特殊汉字。补充说明:unicode 编码占用两个字节,所以,char 类型的变量也是占用两个字节。...原创 2012-12-25 21:52:25 · 125 阅读 · 0 评论 -
short s1 = 1; s1 = s1 + 1;有错而short s1 = 1; s1 += 1正确。为何?
如果你认为表达式(x += i)只是表达式(x = x + i)的简写方式,这并不准确。这两个表达式都被称为赋值表达式。第二个表达式使用的是简单赋值操作符(=),而第一个表达式使用的是复合赋值操作符。Java语言规范中讲到,复合赋值(E1 op=E2)等价于简单赋值(E1=(T)((E1) op (E2))),其中T是E1的类型,除非E1只被计算一次。 换句话说,复合赋值表达式...原创 2012-12-25 21:46:42 · 77 阅读 · 0 评论 -
Java关键字new和newInstance的区别
在初始化一个类,生成一个实例的时候,newInstance()方法和new关键字除了一个是方法,一个是关键字外,最主要有什么区别?它们的区别在于创建对象的方式不一样,前者是使用类加载机制,后者是创建一个新类。那么为什么会有两种创建对象方式?这主要考虑到软件的可伸缩、可扩展和可重用等软件设计思想。 Java中工厂模式经常使用newInstance()方法来创建对象,因此从为什么要使用工...原创 2013-01-05 13:53:12 · 89 阅读 · 0 评论