@Fcy

封装

在特定情况下,需要将类的属性隐藏起来,不允许外部直接访问。如果想要访问这些属性,只能够通过该类提供的方法来访问。简单来说,就是类隐藏属性,并提供访问的接口。

在JAVA中,通常使用private修饰符来修饰需要隐藏的属性,再提供set/get方法可以访问该属性。

//私有化name这个属性,只允许在当前类中访问
	private String name;
	
//提供set/get方法,外部可以使用,设置name和获取name
	public void setName(String name){
        this.name=name;
    }
    public String getName(){
        return this.name;
    }

外部想访问这个类的name属性时,可以调用它的set和get方法来完成对应的使用。

封装的意义:能够提高程序的可重用性,防止错误修改系统的属性,提高系统的独立性。
如果希望某个属性只为可读,无法编辑,可以只保留get方法,舍去set方法。
可以通过this关键字访问对象的属性和方法。

引用数据类型-方法参数
方法参数当中,可以是基本数据类型(如int,double,char等),也可以是引用数据类型(如String,数组,自定义类等)。当参数是基本数据类型时,调用的是具体的值,而参数是引用数据类型时,我们会通过这个引用进一步获取其中具体的属性。

导包

同一个包当中不能有相同类名的类。
不同的包当中可以有相同类名的类。
定义包的语句必须为代码的第一行。
使用其他包中的类时,需要导包。具体实现如下:
import 包名;或者import包名.类名;*
这两个都写在定义包语句的下面。
当然还能够再使用其他包当中的类的时候进行调用。
包名.类名 对象名= new 包名.类名();

Static关键字

译为“全局”或者“静态”。

应用1

static 成员变量 vs 普通成员变量
1.静态成员:静态属性,类成员,全局属性。
非静态成员:实例变量,实例成员,对象变量,对象属性。
2.静态成员:是类的一员,有类所维护,仅在类初次加载时被初始化,类销毁时被回收。
通过该类实例化的对象都共享类中静态成员,每次修改时,所有对象的属性都会被修改。
由于在类加载时就完成了初始化,存储在Java heap区中静态存储区,因此优先于对象存在,所以可以通过类名和对象名来调用。
非静态成员:属于对象,实例化对象时生成的成员,随着对象的回收而释放。
每个属性的修改不会影响其他对象。
只能通过对象名调用。

静态的使用生命周期长,即资源占用期长,要慎用。