学习Java--cp3

来源:互联网 发布:mac电脑截屏快捷键 编辑:程序博客网 时间:2024/05/23 14:03

数组的初始化

1、静态初始化:

String [] arr;arr = new String[]{"str1","str2","str3","str4"};

2、动态初始化 :仅指定数组长度

String [] arr = new String[4];

动态初始化,系统赋初值:

  • byte short int long : 0
  • float double : 0.0
  • chat : ‘\u0000’
  • boolean : false
  • 引用类型:null

对象的this

没有使用static修饰的成员方法和成员变量都要用对象来调用
1、非静态成员函数可以相互调用,其中this一般省略

public class People{    public void eat(){        System.out.println("eat");    }    public void work(){        //this.eat();        eat();        System.out.println("eat方法后去work");    }}

2、静态成员不能直接调用非静态成员

public class People{    public void eat(){        System.out.println("eat");    }    public static main(){        //以下注释掉的写法是错误的,main函数是static的,必须创建对象后调用        //eat();        People p1 = new Peeple();        p1.eat();    }}

3、方法的局部变量与成员变量同名
在该方法中局部变量会覆盖成员变量,若我们要使用被覆盖的局部变量可以使用

this.被覆盖的成员变量名称

传参

方法是要存在于类里面的,
非静态方法要依附于该类的实例,需要用
该类 实例 = new 该类(…);
实例.非静态方法名();
静态方法是属于该类的【该类的全部实例共享】, 该类名.静态方法名();

Java的传参方式:值传递,即将实际参数值的副本传入方法中
系统执行方法时,都会为该方法分配栈区存放参数等,
方法1方法2 传a=1和b=2,则在方法2 的栈区也会存有a=1和b=2,
方法1方法2 他们的a和b是在不同的栈区的,互不干扰

方法1方法2 如果传的是引用,
则两个方法的栈区存放的是指向同一个 对象堆内存 的指针

0 0
原创粉丝点击