Java访问权限

访问修饰符

访问修饰符修饰类和类的成员
Java将类成员的可见度分为四个种类:

访问修饰符 本类 同包 子类
private
默认
protected ✓(不同包子类也可以访问)
public

static修饰符

修饰变量

class 类名{
	public static 数据类型 变量名;
}

成员:
static: 静态成员变量,类变量;
非static :实例成员变量

class Student{
	private int homework;
	public static void main(String[] args){
	Student stu1 = new Student();
	Student stu2 = new Student();
	}
}

实例成员:属于变量,存在堆中
在这里插入图片描述
类变量:

public class Student {
	static int homeWork; // 0 实例成员变量
	
	public static void main(String[] args) {
		Student stu1= new Student();
		guojing.homeWork ++; // 1
		Student stu2= new Student();
		huangrong.homeWork ++;// 2
		System.out.println(stu1.homeWork);// 2
		System.out.println(stu2.homeWork);// 2

	}

}

在这里插入图片描述
静态变量属于类,优先于对象而存在,被所有对象所共享
类的加载初始化:

  1. 类的加载:把字节码.class文件加载到方法区中,并且在堆中生成字节码文件对应的对象,堆中new出的对象就是复制的这个字节码对象
  2. 连接:为静态变量默认初始化
  3. 初始化:静态块初始化
    方法区:存储常量值,静态变量、XX.class的内容

静态变量

语法 :static 类型 变量名
特点:属于类;被所有对象所共享;优先于对象而存在;
使用:1) 对象名.类变量; 2) 类名.类变量(使用)
作用:共享数据。
区别:静态成员 变量 和 实例成员变量的区别

实例成员变量 静态成员变量
属于对象 属于类
对象创建的时候创建,存在堆中 类加载的时候创建,存在方法区中
对象销毁了,成员变量就释放了 类卸载了(应用程序结束),就释放了

修饰方法

class 类名{
	public static 返回值类型 方法名(参数列表){
		方法体;
	}
}

使用:
类名.类方法();
对象名.类方法();
注意:
1) 不能直接访问实例成员;
2)不能使用this,super
作用:

  1. 共享
  2. 使用简单;
  3. 此类不能创建对象时外部类只能通过调用其静态方法
实例方法 静态方法
属于对象 属于类
可以直接访问静态和非静态的成员; 只能直接访问静态成员
可以使用this,super 不能使用this,super

修饰代码块

class 类名{
	static{
	
	}

}

构造块:

class{

    {
     // 构造块:初始化对象
    }
 }

使用: new 创建对象时自动调用,先执行构造块,后调用构造器。

class Demo{	
	{
		// 构造块 
		System.out.println("构造块");
	}
	Demo(){
		System.out.println("构造器");
	}
}
public class TestStaticDemo {
	public static void main(String[] args) {
		Demo demo = new Demo();
	}
}

静态块:
执行:初始化类的时候自动执行。

class{
    static{
        // 静态块:初始化类(给静态变量初始化)
    }
}

局部块:

class{
    public void 方法(){
        {
            // 局部块:控制局部变量的使用范围和生命周期的。
        }
    }
}
	public void func(){
		// 局部变量
		int n = 11;
		{
			int n1 = 22;
			System.out.println(n1);
		}
		System.out.println(n);
	}

静态导入

格式:
import  static 包名.类名.静态变量名(方法);

本人水平有限,欢迎大佬们批评指正!

发布了21 篇原创文章 · 获赞 3 · 访问量 410
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 游动-白 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览