java讲义(static 参数传递 包装类)

1.为什么static 修饰的方法不能访问非static修饰的普通成员变量

申明为非静态的成员变量是一个对象属性,它只有在对象存在时引用,因此如果在对象未创建实例时我们在静态方法中调用了非静态成员方法自然是非法的

2.方法参数的传递机制

基本类型:值传递(复制传递)

引用类型:也是复制传递,引用类型传递的是该变量,不是复制对象,实际操作是堆内存中的对象,两个变量引用的是同一个对象

3.java会使用常量池管理曾经用过的字符串常量,String a="java" String b="java" a==b为true 都在常量池中

4.int类型转化为字符串:基本类型变量与""进行连接运算

String str=5+"";

5.final修饰的基本类型变量与引用类型变量

基本类型变量不能重新赋值

引用类型变量:保证引用类型变量所引用的地址不变。但是对象的内容可以改变

6.关于Integer包装类

package javajiangyi;

public class Canshu {
    public static void main(String args[]){
        //引用类型,比较的为地址
        Integer a=new Integer(2);
        Integer b=new Integer(2);
        System.out.println("test1:"+(a==b));
        //系统把-128-127的数据进行缓存,自动装箱的时候指向的是同一个数组
        Integer c=2;
        Integer d=2;
        System.out.println("test2:"+(c==d));
        //valueOf:会缓存该方法的对象,所以e和f是一个对象
        Integer e=Integer.valueOf(2);
        Integer f=Integer.valueOf(2);
        System.out.println("test3:"+(e==f));
        //把-128-127的数据进行缓存
        Integer h=Integer.valueOf(200);
        Integer i=Integer.valueOf(200);
        System.out.println("test3:"+(h==i));
    }
}

运行结果:

test1:false
test2:true
test3:true
test3:false

7.java8接口

如果借口中的方法为默认方法(default),则方法中可以有方法体

接口中成员变量默认是public static final修饰




猜你喜欢

转载自blog.csdn.net/hewenjing8168/article/details/80839221