学习Java--cp3

数组的初始化

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值