java中易错点(一)

由于replaceAll方法的第一个参数是一个正则表达式,而"."在正则表达式中表示任何字符,所以会把前面字符串的所有字符都替换成"/"。如果想替换的只是".",那么久要写成"\\.".

AWT :是通过调用操作系统的native方法实现的,所以在Windows系统上的AWT窗口就是Windows的风格,而在Unix系统上的则是XWindow风格。 AWT 中的图形函数与 操作系统 所提供的图形函数之间有着一一对应的关系,我们把它称为peers。 也就是说,当我们利用 AWT 来构件图形用户界面的时候,我们实际上是在利用 操作系统 所提供的图形库。由于不同 操作系统 的图形库所提供的功能是不一样的,在一个平台上存在的功能在另外一个平台上则可能不存在。为了实现Java语言所宣称的"一次编译,到处运行"的概念,AWT 不得不通过牺牲功能来实现其平台无关性,也就是说,AWT 所提供的图形功能是各种通用型操作系统所提供的图形功能的交集。由于AWT 是依靠本地方法来实现其功能的,我们通常把AWT控件称为重量级控件。

Swing :是所谓的Lightweight组件,不是通过native方法来实现的,所以Swing的窗口风格更多样化。但是,Swing里面也有heaveyweight组件。比如JWindow,Dialog,JFrame

Swing是所谓的Lightweight组件,不是通过native方法来实现的,所以Swing的窗口风格更多样化。但是,Swing里面也有heaveyweight组件。比如JWindow,Dialog,JFrame

Swing由纯Java写成,可移植性好,外观在不同平台上相同。所以Swing部件称为轻量级组件( Swing是由纯JAVA CODE所写的,因此SWING解决了JAVA因窗口类而无法跨平台的问题,使窗口功能也具有跨平台与延展性的特性,而且SWING不需占有太多系统资源,因此称为轻量级组件!!!)

Integer i01=59 的时候,会调用 Integer 的 valueOf 方法, 

public static Integer valueOf(int i) {

     assert IntegerCache.high>= 127;

     if (i >= IntegerCache.low&& i <= IntegerCache.high)

     return IntegerCache.cache[i+ (-IntegerCache.low)];

     return new Integer(i); }

这个方法就是返回一个 Integer 对象,只是在返回之前,看作了一个判断,判断当前 i 的值是否在 [-128,127] 区别,且 IntegerCache 中是否存在此对象,如果存在,则直接返回引用,否则,创建一个新的对象。

在这里的话,因为程序初次运行,没有 59 ,所以,直接创建了一个新的对象。

int i02=59 ,这是一个基本类型,存储在栈中。

Integer i03 =Integer.valueOf(59); 因为 IntegerCache 中已经存在此对象,所以,直接返回引用。

Integer i04 = new Integer(59) ;直接创建一个新的对象。

System. out .println(i01== i02); i01 是 Integer 对象, i02 是 int ,这里比较的不是地址,而是值。 Integer 会自动拆箱成 int ,然后进行值的比较。所以,为真。

System. out .println(i01== i03); 因为 i03 返回的是 i01 的引用,所以,为真。

System. out .println(i03==i04); 因为 i04 是重新创建的对象,所以 i03,i04 是指向不同的对象,因此比较结果为假。

System. out .println(i02== i04); 因为 i02 是基本类型,所以此时 i04 会自动拆箱,进行值比较,所以,结果为真。

public Method[] getMethods()返回某个类的所有公用(public)方法包括其继承类的公用方法,当然也包括它所实现接口的方法。 
public Method[] getDeclaredMethods()对象表示的类或接口声明的所有方法, 包括公共、保护、默认(包)访问和私有方法,但不包括继承的方法。当然也包括它所实现接口的方法。

时间: 2024-10-13 13:44:59

java中易错点(一)的相关文章

java初级易错问题总结

1.什么是变量?变量的定义格式?要使用变量需要注意什么?就是可变的量数据类型 变量名 = 数值;同一范围内不能重复定义不赋值不能使用 2.Java中的数据类型分几类?基本数据类型有哪些?两大类    基本数据类型        byte(1) short(2) int(4) long(8) float(4) double(8) char(2) boolean(1)    引用数据类型        类 接口 数组 枚举 3.数据类型转换:    隐式转换:由低级专向高级    强制转换:由高级专

WPF连接字符串中易错点

一.WPF中连接字符串需向项目中添加“应用程序配置文件”,然后可以使用比较常用的connectionStrings或者appSettings节点进行配置,如果想详细学习节点设置,可以看看园中其他大神的文章,他们有对此进行细致的讲解,本人在此就不再赘诉了. 二.在窗体中新建button控件,双击进行click事件,编写读取配置文件中相应节点的字符串信息 (这里可能需要引入System.Configuration引用) 三.一切准备就绪,生成也没有问题,运行,额~怎么就报错了??调试,发现connS

JAVA常见易错知识点整理(一)

1.局部变量不能加访问修饰符2.线程中的run方法是public void run(){},重写时需要注意修饰符3.instanceof的作用是判断其左边对象是否为其右边类的实例,返回boolean类型的数据.4.StringBuffer没有重写equals方法,该方法是比较两个对象是否相同,而不是比较字符串内容5.Throwable有两个子类分别是Error和Exception6.多态不能应用在泛型参数上7.抽象类可以有构造方法8.线程优先级1最小,10最大9.接口中的方法是public ab

java中易遗忘的知识,不定时更新……

如果有人问你: "子类继承父类所有非私有(private)的属性和方法这句话对吗?", 如果你回答对的, 那我只能说too young too simple! 修饰符的问题 为什么说这句话不对了, 只要你搞清楚了4个访问修饰符的应用范围你就知道了 public: 任何地方都能访问 private: 类访问符(自己取得名字), 只要在本类中的都可以访问, 其他类中不可以访问 默认: 即不加修饰符的时候, 这时候是包访问符, 只要在本包中的都可以访问, 其他包不可以访问(其他包中的子类也不

java基础易错点总结(一)

子类继承父类表示子类比他的父类包含更多的信息和方法 子类调用重载的构造方法时会调用父类的构造方法,super();一般如果不写的话会隐式的调用,而且每次调用都在所有语句之前. 在函数中,使用父类的地方都可以使用子类,这即是常说的多态,变量的实际类型是被变量引用的对象的实际类,变量调用的函数由变量的实际类决定,这称为动态绑定. 如:Object o =new int(); o.toString()调用的是int的toString()方法,如果实际类没有该方法则向上找他的父类是否有该方法,直到找到为

java基础中的易错点

包 包在java中类似于c++命名空间 1.1.如何建立多层包? 传送门 注意: 每个包目录下面的文件,开头的格式都是package bag1.bag2.xxx.xxx...; 表示这个文件在哪个包(目录)里面.不能随意修改和删除这个语句,要不然产生不匹配的错误. 在一个包(目录)下新建一个文件夹,那么这个文件夹就会变成子包. 原文地址:https://www.cnblogs.com/yulianggo/p/10426527.html

细节!重点!易错点!--面试java基础篇(一)

今天来给大家分享一下java的重点易错点部分,也是各位同学面试需要准备的,欢迎大家交流指正. 1.java中的main方法是静态方法,即方法中的代码是存储在静态存储区的. 2.任何静态代码块都会在main方法之前执行. 3.java程序的初始化顺序:原则:静态优先于非静态,且只初始化一次:父类优先于子类:按照成员定义顺序初始化.例顺序:父类静态变量,父类静态代码块,子类静态变量,子类静态代码块,父类非静态变量,父类非静态代码块,父类构造函数,子类非静态变量,子类非静态代码块,子类构造函数. 4.

细节!重点!易错点!--面试java基础篇(二)

今天来给大家分享一下java的重点易错点第二部分,也是各位同学面试需要准备的,欢迎大家交流指正. 1.字符串创建与存储机制:当创建一个字符串时,首先会在常量池中查找是否已经有相同的字符串被定义,其判断的依据是String类型equals的返回值,若已经定义,则直接获取对其的引用.此时不需要创建新的对象,如果没有定义,首先创建这个对象,然后把它加入到字符串池中,再将它的引用返回.(例:new String(”aaa“)可能创建了1个或者2个对象,如果常量池中原来有aaa那么之创建了一个对象,如果没

Java五道输出易错题解析(进来挑战下)

收集了几个易错的或好玩的Java输出题,分享给大家,以后在编程学习中稍微注意下就OK了. 1. 看不见的空格? 下面的输出会正常吗? package basic; public class IntegerTest { public static void main(String[] args) { System.out.println(Integer.parseInt("1")); System.out.println(Integer.parseInt("?2"))