1.
① 成员变量与局部变量
② private关键字
Java中,当一个类的某个成员变量前面不带任何权限修饰(private,protected,public),这种成员变量在Java中,会默认一种访问权限"包内部访问权限"。即包内其他类可以访问该类,但是该类在包外部的其他类不能访问:
但是当成员变量加了private修饰,就无法被类外直接访问:
正确方法如下:
③ String
(1) “==”比较的是地址,“equals()”比较的是内容。
package com.test2;
public class test2 {
public static void main(String[] args) {
char[] chs = {'a', 'b', 'c'};
byte[] bys = {97, 98, 99};
// 构造
String s1 = new String(chs);
String s2 = new String(chs);
String s3 = new String(bys);
String s4 = new String(bys);
// 赋值
String s5 = "abc";
String s6 = "abc";
// 地址比较
System.out.println(String.format("s1 == s2: %s\n", s1 == s2));
System.out.println(String.format("s3 == s4: %s\n", s3 == s4));
System.out.println(String.format("s5 == s6: %s\n", s5 == s6));
System.out.println(String.format("s1 == s3: %s\n", s1 == s3));
System.out.println(String.format("s1 == s5: %s\n", s1 == s5));
System.out.println("-------------------------");
// 内容比较
System.out.println(String.format("s1.equals(s2): %s\n", s1.equals(s2)));
System.out.println(String.format("s3.equals(s4): %s\n", s3.equals(s4)));
System.out.println(String.format("s5.equals(s6): %s\n", s5.equals(s6)));
System.out.println(String.format("s1.equals(s3): %s\n", s1.equals(s3)));
System.out.println(String.format("s1.equals(s5): %s\n", s1.equals(s5)));
}
}
(2)String与StringBuilder区别
StringBuilder可以使用append()和reverse()方法,String是不行的。
(3)String与StringBuilder相互转换
为了让String也可以使用StringBuilder独有的append()和reverse()方法,我们可以先把String转StringBuilder,其后再转回String。
④