静态方法不能直接访问非静态变量
静态方法可以通过调用其他方法来访问非
静态方法不能直接访问非静态变量
静态方法可以通过调用其他方法来访问非
封装思想:
将类中的属性都私有化,然后提供set和get方法给外界访问
get方法只提供属性的值,不能修改值。
set方法可以修改
实例化的时候,如果我们没有定义构造方法的时候,系统会帮我们提供一个默认的构造方法用来初始化
关于变量初始化
类里面的成员变量可不用初始化
方法里面的变量需要
在使用工具类的时候会用static
静态方法
静态方法也只保留一份
静态方法不能访问非静态变量
可以将对象作为参数传递进去
静态变量
static,静态成员只有一个内存地址
内存:栈,堆,方法区
方法区中包含静态区,存放静态变量,且只保留一份
静态变量可以通过类和对象来访问,一般用类
封装
把外界不需要访问的变量私有化
将类的属性设置为private
防止初始化之后错误设置属性值
如果想访问,提供get方法
可以提供多个get方法
如果想修改,提供set方法
需要谨慎考虑
fang'b
```java
class student{
private String name;
private int rank;
public String getName(){
return name;
}
public int getRank(){
return rank;
}
}
public void setRank( int rank ){
this.rank = rank;
}
```
this 关键字的使用
this 指当前对象,编程时会有提示
```
this.name = name
```
1. 可以让参数与构造器内的变量名字相同,用this来区分
2. 在其他方法中也可以区分参数和变量
构造方法相关
构造方法名与类名相同
当没有定义任何构造方法的时候,系统会帮我们提供一个默认的构造方法(该默认方法无参)
如果自己定义了其他的构造方法,系统就不会提供默认构造方法
可以构造多个构造方法
构造方法内变量和参数名字需要不一样
构造方法的好处是,初始化对象的属性比较方便
匿名对象,当这个对象只使用一次的时候可以通过匿名对象的方式当做参数传递。