Java基础之修饰符

1.包

 导包

  • 使用不同包下的类时,使用的时候要写类的全路径,太麻烦了。
    cn.yi.Teacher t=new cn.yi.Teacher();
  • 为了简化带包的操作,Java就提供了导包的功能。
    • 格式:import  包名;
    • 范例:import  cn.yi.Teacher

2.权限修饰符

3.状态修饰符

final

final关键字是最终的意思,可以修饰类、成员变量、成员方法。

final修饰的特点:

  • 修饰类:表明该方法是最终类,不能被继承
    public final class Fu {
        public void show(){
            System.out.println("show方法被调用");
        }
    }
    public class Zi extends Fu{//报错
        public void show(){
            public int age=10;
            public void show(){
                age=20;
                System.out.println(age);
            }
        }
    }
  • 修饰变量:表明该变量是常量,不能再次被赋值
    public class Zi extends Fu{
        public final int age=10;
        public void show(){
            age=20;//报错
            System.out.println(age);
        }
    }
  • 修饰方法:表明该方法是最终方法,不能被重写
    public class Fu {
        public final void show(){
            System.out.println("show方法被调用");
        }
    }
    public class Zi extends Fu{
        public int age=10;
        public void show(){//报错
            age=20;
            System.out.println(age);
        }
    }

    final修饰局部变量

  • 变量是基本类型: final 修饰指的是基本类型的数据值不能发生改变。
  • 变量是引用类型: final 修饰指的是引用类型的地址值不能发生改变,但是地址里面的内容是可以发生改变的。

Student.java

public class Student {
    public int age=19;
}

FinalDemo.java

public class FinalDemo {
    public static void main(String[] args) {
        //final修饰基本类型变量
        final int age=20;
//        age=100;//数据值不能发生改变
        System.out.println(age);

        //final修饰引用类型变量
        final Student s=new Student();
        s.age=100;
        System.out.println(s.age);
//        s=new Student();//地址值不能发生改变
    }
}

static

  • static关键字是静态的意思,可以修饰成员变量、成员方法。
  • static修饰的特点:
    • 被类的所有对象共享(这也是我们判断是否使用静态关键字的条件)
    • 可以通过类名(推荐使用)、对象名调用

Student.java

public class Student {
    public String name;
    public int age;
    public static String university;//静态成员变量

    public void show(){
        System.out.println(name+","+age+","+university);
    }
}

StaticDemo.java

public class StaticDemo {
    public static void main(String[] args) {
        Student.university="北京大学";//类名调用成员变量

        Student s1 = new Student();
        s1.name="林青霞";
        s1.age=30;
//        s1.university="北京大学";
        s1.show();

        Student s2 = new Student();
        s2.name="风清扬";
        s2.age=40;
//        s2.university="北京大学";
        s2.show();
    }
}

static访问特点

  • 静态成员方法只能访问静态成员。
  • 非静态成员方法既能访问静态成员,又能访问非静态成员。
public class Student {
    //非静态成员变量
    private String name="林青霞";

    //静态成员变量
    private static String university="北京大学";

    //非静态成员方法
    public void show1(){

    }
    public void show2(){
        System.out.println(name);//访问非静态成员变量
        System.out.println(university);//访问静态成员变量
        show1();//访问非静态成员方法
        show3();//访问静态成员方法
    }

    //静态成员方法
    public static void show3(){

    }
    public static void show4(){
//        System.out.println(name);
        System.out.println(university);//访问静态成员变量
//        show1();
        show3();//访问静态成员方法
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值