字段与属性概述
字段使用在类中,用来承载数据的
字段其实就是成员变量,简称为字段
成员变量:类里、方法外
静态变量:类里、方法外
局部变量:方法内
为了安全性,字段一般定义为私有的 private
如果是public,就可以随意对其进行赋值和读取
把字段定位私有,怎么访问呢?
属性:是字段赋值和读取的关口,想要操作字段,必须通过该字段的属性来操作
name字段,像是一张纸
如果放开权限(public)谁都可以在上面写东西
只要写的下,写什么都可以,因为一张纸是不会阻止你的
为了防止人胡乱写,就要加一个中间人
就是属性。你想在纸上写东西,就要先告诉中间人你想写的东西
中间人觉得可以后,由中间人在纸上写
写法
public class Human {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
因为private修饰符,在同一个类里是可见的,其他都不能访问
static
static可以修饰:方法、变量、类
静态方法:
方便在没有创建对象的情况下来进行调用
只要类被加载了,就可以通过类名去进行访问
静态方法中不能访问非静态方法和非静态变量
静态方法之间和相互访问
静态变量:
静态字段,是属于类的,所有实例都会共享该字段(类名.静态字段名)
实例字段,是属于实例的,各个实例的变量互不影响(实例名.字段)
静态类:
如果直接用static修饰class,会直接报错
如果一个类要被声明为static的,只有一种情况,就是静态内部类
静态内部类跟静态方法一样,只能访问静态的成员变量和方法
不能访问非静态的方法和属性
但是普通内部类可以访问任意外部类的成员变量和方法
静态内部类可以声明普通成员变量和方法
而普通内部类不能声明static成员变量和方法
静态内部类可以单独初始化