swish语句:
switch 的子判断如果不加break,会在进入一个子判断后,连续执行后面所有的子判断,不在进行case条件是否符合。
swish(int,byte,short,char等类型) {
case 常量表达式:语句1;。。。
..........
default 语句n; //default 可以省略
}
==和equals的区别
==是对java对象的栈内存和堆内存的内容同时比较,完全相同返回true,不全相同返回false。
equals是对java对象的堆内存中的内容作比较,内容相同返回true,不同返回false。
例如:
Person p1=new Person("aa");
Person p2=new Person("aa");
Person p3= p1;
p1==p2 是false, p1==p3 是true
p1.equals(p2) 和 p1.equals(p3) 都是true
java 中变量(除基础类型,byte,short,int,float,double,long,char)一般作为引用,存放的是实际内容的内存首地址,当用new 创建一个新对象时,
不同变量的内存首地址是不同的(如p1和p2),虽然内容相同,但首地址信息不同,所以用 “==” 比较是false
而p3 是p1将自己的内存首地址信息给了它,所以p3和p1指向同一块内存,里面的内容又是相同的,所以"=="比较是true。
this
this 是指调用当前对象的成员变量和方法.
static
static 可以修饰 类、成员变量(类的属性)、成员方法、类中的静态块(用于类在没有创建对象,但被加载的时候执行),
static 可以理解为一个全局变量,所以static一般被用在 单例设计模式中(即控制一个类始终只能创建一个对象)。
main函数的理解
public static void main (String [] args){
}
main 需要被jvm 调用,所以被定义为公有的,
main 不需要创建对象就可以被调用,所以被定义为static
main 不需要返回值,所以返回值类型是 void
String数组,是用于java命令执行的时候存放传递的参数,例如 Java TestClass aaa ( 两个参数中间有一个空格隔开)bbb