qq钱包对不起你的账户属于不a股活跃账户用户

java.lang包中不能被继承的类和可以的区别
java.lang包中不能被继承的类和可以的区别
Map,Object,ClassLoader,Collection是接口可以被继承;string,Int不可被继承。一次面试的时候,被问到java.lang包中那些类不能被继承,当时有点蒙,只知道String类不能被继承。其他的还真的不知道。于是回来查看了一下,总结如下:
public final class Byte
public final class Character
public static final class Character.UnicodeBlock
public final class Class&T&
public final class Compiler
public final class Double
public final class Float
public final class Integer
public final class Long
public final class Math
public final class ProcessBuilder
public final class RuntimePermission
public final class Short
public final class StackTraceElement
public final class StrictMath
public final class String
public final class StringBuffer
public final class StringBuilder
public final class System
public final class Void
评:快毕业的同学们记下吧,因为找工作的笔试面试可能有用到,尽管都是些很sb的笔试面试,不过现在工作真不好找。
转载请注明来自:[]leizhimin 的BLOG
用户名:leizhimin
文章数:726
评论数:2721
注册日期:
阅读量:5863
阅读量:12276
阅读量:423581
阅读量:1112019
51CTO推荐博文
深入研究java.lang.Class类
&&&&& Java程序在运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型标识。这项信息纪录了每个对象所属的类。虚拟机通常使用运行时类型信息选准正确方法去执行,用来保存这些类型信息的类是Class类。Class类封装一个对象和接口运行时的状态,当装载类时,Class类型的对象自动创建。&&&&& Class 没有公共构造方法。Class 对象是在加载类时由 Java 虚拟机以及通过调用类加载器中的 defineClass 方法自动构造的,因此不能显式地声明一个Class对象。 &&&&& 虚拟机为每种类型管理一个独一无二的Class对象。也就是说,每个类(型)都有一个Class对象。运行程序时,Java虚拟机(JVM)首先检查是否所要加载的类对应的Class对象是否已经加载。如果没有加载,JVM就会根据类名查找.class文件,并将其Class对象载入。&&&&& 基本的 Java 类型(boolean、byte、char、short、int、long、float 和 double)和关键字 void 也都对应一个 Class 对象。 &&&&& 每个数组属于被映射为 Class 对象的一个类,所有具有相同元素类型和维数的数组都共享该 Class 对象。&&&&& 一般某个类的Class对象被载入内存,它就用来创建这个类的所有对象。
一、如何得到Class的对象呢?有三种方法可以的获取:&&& 1、调用Object类的getClass()方法来得到Class对象,这也是最常见的产生Class对象的方法。例如:&&& MyO&&& Class c1 = x.getClass();&&& 2、使用Class类的中静态forName()方法获得与字符串对应的Class对象。例如: &&& Class c2=Class.forName("MyObject"),Employee必须是接口或者类的名字。&&& 3、获取Class类型对象的第三个方法非常简单。如果T是一个Java类型,那么T.class就代表了匹配的类对象。例如&&& Class cl1 = Manager.&&& Class cl2 = int.&&& Class cl3 = Double[].&&& 注意:Class对象实际上描述的只是类型,而这类型未必是类或者接口。例如上面的int.class是一个Class类型的对象。由于历史原因,数组类型的getName方法会返回奇怪的名字。
二、Class类的常用方法&&& 1、getName() &&& 一个Class对象描述了一个特定类的属性,Class类中最常用的方法getName以 String 的形式返回此 Class 对象所表示的实体(类、接口、数组类、基本类型或 void)名称。
&&& 2、newInstance()&&& Class还有一个有用的方法可以为类创建一个实例,这个方法叫做newInstance()。例如:&&& x.getClass.newInstance(),创建了一个同x一样类型的新实例。newInstance()方法调用默认构造器(无参数构造器)初始化新建对象。
&&& 3、getClassLoader() &&& 返回该类的类加载器。
&&& 4、getComponentType() &&& 返回表示数组组件类型的 Class。
&&& 5、getSuperclass() &&& 返回表示此 Class 所表示的实体(类、接口、基本类型或 void)的超类的 Class。
&&& 6、isArray() &&& 判定此 Class 对象是否表示一个数组类。
三、Class的一些使用技巧&&& 1、forName和newInstance结合起来使用,可以根据存储在字符串中的类名创建对象。例如&&& Object obj = Class.forName(s).newInstance();
&&& 2、虚拟机为每种类型管理一个独一无二的Class对象。因此可以使用==操作符来比较类对象。例如:&&& if(e.getClass() == Employee.class)...
& 本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)
本文收录至博客专题:《》
10:38:51 13:22:37 17:53:40 15:17:09 16:07:53 15:31:21 20:01:09 20:06:26 15:38:22 11:39:39 09:14:53 21:21:58 14:29:46 10:29:55 16:41:52 23:33:49 15:17:38J2SE(72)
可以,但在应用的时候,需要用自己的类加载器去加载,否则,系统的类加载器永远只是去加载jre.jar包中的那个java.lang.String。由于在tomcat的web应用程序中,都是由webapp自己的类加载器先自己加载WEB-INF/classess目录中的类,然后才委托上级的类加载器加载,如果我们在tomcat的web应用程序中写一个java.lang.String,这时候Servlet程序加载的就是我们自己写的java.lang.String,但是这么干就会出很多潜在的问题,原来所有用了java.lang.String类的都将出现问题。
虽然java提供了endorsed技术,可以覆盖jdk中的某些类,具体做法是….。但是,能够被覆盖的类是有限制范围,反正不包括java.lang这样的包中的类。
(下面的例如主要是便于大家学习理解只用,不要作为答案的一部分,否则,人家怀疑是题目泄露了)例如,运行下面的程序:
package java.
public class String {
public static void main(String[] args) {
System.out.println("string");
报告的错误如下:
java.lang.NoSuchMethodError: main
Exception in thread "main"
这是因为加载了jre自带的java.lang.String,而该类中没有main方法。
&&相关文章推荐
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:24269次
积分:2008
积分:2008
排名:第17828名
原创:182篇
转载:12篇
(1)(1)(9)(107)(63)(15)> 问题详情
能不能自己写个类,也叫java.lang.String?
悬赏:0&答案豆
提问人:匿名网友
发布时间:
能不能自己写个类,也叫java.lang.String?
为您推荐的考试题库
您可能感兴趣的试题
188. Java代码查错1.abstract class Name {private Spublic abstract boolean isStupidName(String name) {}}大侠们,这有何错误?22.public class Something {void doSomething () {private String s = "";int l = s.length();}}有错吗?33.abstract class Something {private abstract String doSomething ();}这好像没什么错吧?44.public class Something {public int addOne(final int x) {return ++x;}}这个比较明显。
我有更好的答案
相关考试课程
请先输入下方的验证码查看最佳答案
图形验证:
验证码提交中……
享三项特权
享三项特权
享三项特权
选择支付方式:
支付宝付款
郑重提醒:支付后,系统自动为您完成注册
请使用微信扫码支付(元)
支付后,系统自动为您完成注册
遇到问题请联系在线客服QQ:
请您不要关闭此页面,支付完成后点击支付完成按钮
遇到问题请联系在线客服QQ:
恭喜您!升级VIP会员成功
常用邮箱:
用于找回密码
确认密码:}

我要回帖

更多关于 浙江农信不活跃账户 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信