类和对象(三)

访问控制

java的访问指示符有public(公共的,全局的),private(私有的,局部的),protected(受保护的);要理解public和private对访问的作用,注意下面的例子:

package study;
class Rest{
    int a;
    public int b;
    private int c;
    void lzq(int i){
        c=i;
    }
    int lzq1(){
        return c;
    }
}
public class Test1 {
    public static void main(String[] args) {
        Rest pwd=new Rest();
        pwd.a=10;
        pwd.b=20;
        //pwd.c=100;
        pwd.lzq(100);
        System.out.println(pwd.a+","+pwd.b+","+pwd.lzq1());
    }

}

这里写图片描述
在本例中,成员c被指定为private,因此它不能被它的类之外的代码访问,所以,在Test1类中不能直接访问c,对它的访问只能通过它的public方法lzq()和lzq1();

理解static

声明为static的变量实质上就是全局变量,当声明一个对象时,并不产生static变量的拷贝,而是该类中所有的实例变量共用的一个static变量,声明为static的方法有以下几条限制:
1.它们仅能调用其他的static方法,
2.它们只能访问static数据
3.它们不能以任何形式引用this或super
如果你需要计算来初始化你的static变量,你可以声明一个static块,static块仅在该类被加载时执行一次

package study;

class Lzq{//随便定义的一个类
    public Lzq(){
        System.out.println("构造方法");
    }
    {//构造块
        System.out.println("构造块");
    }
    static{//被static修饰的静态块
        System.out.println("静态块 ");
    }
}
public class TestDemo {

    public static void main(String[] args) {
            new Lzq();
            new Lzq();
            new Lzq();
            new Lzq();
    }

}

这里写图片描述

了解final

一个变量可以声明为final,这样做的目的是为防止它被修改,这意味着声明final变量的时候你必须初始化它,为final变量所有的字符选择大写是一个普遍的约定,声明为final的变量在实例中不占内存,final变量实际上是一个常数

探索String类

String类包含许多操作字符串的方法,比如你可以用equals()来检验两个字符串是否相等,你可以调用一个方法length()来获取字符串的长度,也可以调用charAt()来获得一个字符串指定索引的字符;当然,String还可以组成数组,

package study;

public class TestDemo7 {
  public static void main(String[] args) {
        String lzq1="hello world";
        String lzq2="hello world";
        String lzq3=lzq1;
        System.out.println("字符串1长度是: "+lzq1.length());
        System.out.println("字符串1的第四个元素是: "+lzq1.charAt(4));//从0开始计数
        if(lzq3.equals(lzq2)){
            System.out.println("lzq3==lzq2");
        }
        else{
            System.out.println("lzq3!=lzq2 ");
            }
        }

}

这里写图片描述

使用命令行参数

所有的命令行参数都是以字符串的形式传递的,你必须手动把数字值变换到它们的内部形式

public class TestDemo7 {
  public static void main(String args[]) {
        for(int i=0;i<args.length;i++){
            System.out.println("args["+i+"]:"+args[i]);
        }
        }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值