Java随感
创新项目要用java,而我只大概会C++,只能靠自学咯~~~随时将一些重要的概念做笔记在这里吧>_<
1.一个源文件中只能有一个public类,一个源文件可以有多个非public类
2.所有的Java 程序由public static void main(String args[])方法开始执行。
3. 在Java中用final标志声明常量,声明方式和变量类似。
4.类变量也称为静态变量,在类中以static关键字声明,但必须在方法构造方法和语句块之外。
无论一个类创建了多少个对象,类只拥有类变量的一份拷贝。
静态变量除了被声明为常量外很少使用。常量是指声明为publc/private,final和static类型的变量。常量初始化后不可改变。
e.g. protected static final int BOXWIDTH = 42;
类变量被声明为public static final类型时,类变量名称必须使用大写字母。
5.访问权限:
默认的,也称为default,在同一包内可见,不使用任何修饰符。(接口里的变量都隐式声明为public static final,而接口里的方法默认情况下访问权限为public。)
私有的,以private修饰符指定,在同一类内可见。(使用get/set取值)
共有的,以public修饰符指定,对所有类可见。
受保护的,以protected修饰符指定,对同一包内的类和所有子类可见。
6.易错点:
java中的换行符是\r\n而不是\n
7.有关字符串的比较
熟悉C++的人对于两个字符串比较的代码一定很了解:
(string1==string2)
但在java中,这个代码即使在两个字符串完全相同的情况下也会返回false
Java中必须使用string1.equals(string2)来进行判断
补充
如果:
string s1=new String("Hello");
string s2=new String("Hello");
则(s1==s2)=false
如果:
string s1="Hello";
string s2="Hello";
则(s1==s2)=true;
因为他们指向的同一个对象。
如果把其他变量的值赋给s1和s2,即使内容相同,由于不是指向同一个对象,也会返回false。所以建议使用equals(),因为equals比较的才是真正的内容,equalsIgnoreCase忽略大小写
(string1==string2)
但在java中,这个代码即使在两个字符串完全相同的情况下也会返回false
Java中必须使用string1.equals(string2)来进行判断
补充
如果:
string s1=new String("Hello");
string s2=new String("Hello");
则(s1==s2)=false
如果:
string s1="Hello";
string s2="Hello";
则(s1==s2)=true;
因为他们指向的同一个对象。
如果把其他变量的值赋给s1和s2,即使内容相同,由于不是指向同一个对象,也会返回false。所以建议使用equals(),因为equals比较的才是真正的内容,equalsIgnoreCase忽略大小写