文章目录

  • 1.包
  • 1.1 包的概述和使用
  • 2. 导包
  • 2.1导包的概述和使用
  • 3.修饰符
  • 3.2 权限修饰符
  • 3.5 final修饰局部变量
  • 3.6 static
  • 3.7 static访问特点


1.包

1.1 包的概述和使用

其实就是文件夹

作用:对类进行分类管理

包的定义格式

  • 格式:package 包名(多级包用,分开)
  • 范例:package com.cs;

带包的java类的编译和执行

  • 手动建包
    按照以前的格式编译java文件 javac HelloWorld
    手动创建包 在E盘建立文件夹com,然后在com下建立cs
    把HelloWorld.class文件放到com下的cs这个文件夹下
    带包执行 java com.cs.HelloWorld
  • 自动建包:javac -d .HelloWorld.java java com.cs.HelloWorld

2. 导包

2.1导包的概述和使用

使用不同包下的类时,使用的时候要写类的全路径,写起来太麻烦了,为了简化带包的操作,java就提供了导包的功能

导包的格式

  • 格式:import包名;
  • 范例:import csl.cs.Teacher

3.修饰符

3.2 权限修饰符

修饰符

同一个类中

同一个包中子类无关类

不同包的子类

不同包的无关类

private

默认

protected

public

3.5 final修饰局部变量

  • 变量是基本类型:final 修饰指的是基本类型的数据值不能发生改变
  • 变量是引用类型:final修饰指的是引用类型的地址值不能发生改变,但是地址里面的内容可以发生改变
public class FinalDemo{
    public static void main(String[] arsg){
        //final修饰基本类型变量,数据值不能改变
        final int age = 20;
        // age = 100;//会报错
        System.out.println(age);
        
        //final修饰引用类型变量
        final Student s = new Student();//这个S是个地址值  ,这个地址值中的内容可以变,地址值不能变
        s.age = 100;
        System.out.println(s.age);
        
        // s = new Studetn();//会报错 
    }
}

3.6 static

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

static修饰的特点

  • 被类的所有对象共享
    这也是我们判断是否使用静态关键字的条件
  • 可以通过类名调用,
    当然,也可以通过对象名调用
    推荐使用类名调用
public class Student {
	public String name;
	public int age;
	//public String university;
	public static String university;//static修饰的变量可以被所有成员共享

	public void show(){
		System.out.println(name +","+age+","+university);
	}
}
----------------------------------------
public class StaticDemo {
	public static void main(String[] args) {
		Student.university = "池州university";
		Student s1 = new Student();
		s1.name = "陈世龙";
		s1.age = 18;
		//s1.university = "池州学院";
		s1.show();

		Student s2 = new Student();
		s2.name = "张三";
		s2.age = 22;
		//s2.university = "池州学院";//static修饰后的university只需要一个对象名访问就可以显示所有的但一般不这样使用
		s2.show();
		/*
		1.被所有对象共享的成员我们用静态static修饰
		2.静态修饰的成员我们可以用对象名访问,
		 */
	}
}

3.7 static访问特点

非静态的成员方法:

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

静态的成员方法:

  • 能访问静态的成员变量
  • 能访问静态的成员方法

总结成一句话就是:静态成员方法只能访问静态成员