jgcs123

导航

 

修饰符

1. package

1.1 包的概述和使用

  1. 包的概念

    • 包就是文件夹,用来管理类文件的

  2. 包的定义格式 package

    • 包名; (多级包用.分开)

    • 例如:package com.heima.demo;

  3. 带包编译&带包运行

    • 带包编译:javac –d . 类名.java

      • 例如:javac -d . com.heima.demo.HelloWorld.java

    • 带包运行:java 包名+类名

      • 例如:java com.heima.demo.HelloWorld

 

2. import

 

2.1 导包的概述和使用

  • 使用不同包下的类时,使用的时候要写类的全路径,写起来太麻烦了

  • 为了简化带包的操作,Java就提供了导包的功能

 

  • 导包的格式

  • 格式:import 包名;

  • 范例:import java.util.Scanner;

 

  • 示例代码(没有使用导包,创建的Scanner对象)

package com.heima;
   
public class Demo {
   public static void main(String[] args) {
       // 1. 没有导包,创建Scnaner对象
       java.util.Scanner sc = new java.util.Scanner(System.in);
  }
}

 

  • 示例代码(使用导包后,创建的Scanner对象)

package com.heima;

import java.util.Scanner;

public class Demo {
   public static void main(String[] args) {
       // 1. 没有导包,创建Scnaner对象
       Scanner sc = new Scanner(System.in);
  }
}

 

3. 修饰符

3.1 修饰符分类

  • 权限修饰符

  • 状态修饰符

3.2 权限修饰符

 

3.3 状态修饰符

  • final(最终态)

  • static(静态)

 

3.4 final

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

  • final修饰的特点

  • 修饰方法:表明该方法是最终方法,不能被重写

  • 修饰变量:表明该变量是常量,不能再次被赋值

  • 修饰类:表明该类是最终类,不能被继承(不能有子类,但是可以有父类)

 

 

3.5 final修饰局部变量

  • fianl修饰基本数据类型变量

    • final 修饰指的是基本类型的数据值不能发生改变

  • final修饰引用数据类型变量

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

    • 举例:

public class Student {
   public int age = 20;
}

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();
  }

 

3.6 static

  • static的概念

    • static关键字是静态的意思,可以修饰【成员方法】,【成员变量】

  • static修饰的特点

    1. 被类的所有对象共享,这也是我们判断是否使用静态关键字的条件

    2. 可以通过类名调用当然,也可以通过对象名调用【推荐使用类名调用】

  • 示例代码:

 

public class Student {

   public String name; //姓名
   public int age; //年龄
//   public String university; //学校
   public static String university; //学校 共享数据!所以设计为静态!

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

}

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 = 33;
//       s2.university = "传智大学";
       s2.show();
  }

 

3.7 static访问特点

  • static的访问特点

    • 非静态的成员方法

      • 能访问静态的成员变量

      • 能访问非静态的成员变量

      • 能访问静态的成员方法

      • 能访问非静态的成员方法

    • 静态的成员方法

      • 能访问静态的成员变量

      • 能访问静态的成员方法

    • 总结成一句话就是:

      • 静态成员方法只能访问静态成员

/*
   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();
  }

 

posted on 2021-06-22 11:26  Dongdong98  阅读(48)  评论(0)    收藏  举报