JAVA封装基础

1.封装的作用

类的内部会有一些固定数据,创建对象,操作对象时可能会改变类的的属性(数据),为了保护类的属性,需要对类的属性进行封装。

public class User{
final int num=100;
String name;
int age;
int id;
}
class MainClass{
public static void main(String[] args) {
User user1 = new User();
user1.num=12; //错误 num为常量不可改变
user1.name="Pita";
user1.age=19;
user1.id=001;
// 需要记住有哪些属性名和属性的类型--比较麻烦
// 需要赋值 -- 类的内部会有一些固定的数据,不可改变
}
}

eg:
set&get,将所有的属性封装隐藏起来,通过固定格式的方法,提供对内对外的访问方式。
对属性赋值,set方法,传入值 (参数)。

public void setName(String name){
this.name = name;
}

// this - 指代本类的对象 - 本类的哪个对象?哪个对象调用这个函数就是哪个对象,类似“我”。
// super - 代词,在子类中指代父类 指代子类可以调用到继承的方法的父类。

获取对象的属性 get方法,返回值

public String getName(){
        return name;
    }

2.构造函数的使用

1.格式:
方法名与类名同名 没有返回值结构 其他与普通方法无异。
public User(){
}

2.性质
构造方法 对于每个类而言,都默认具有一个隐式的空参数构造方法,如果显式写了任意一个构造方法,空参数构造方法都会被覆盖。

3.访问权限修饰符

在Java编程语言中有四种权限访问控制符,public, protected, friendly, private,这四种访问权限的控制符能够控制类中成员的可见性,限制访问范围。下表为访问范围:
在这里插入图片描述
注意:构造方法 private 在这个类的范围之外不能创建对象。

4.static关键字

static关键字可以修饰静态属性,方法,成员类(内部类),代码块。
特性:静态,唯一性,不属于对象,由类直接调用。

5.单例模式

单例模式为一个类有且只有一个对象,需要:
1.对构造方法进行私有化

2.在这个类中创建唯一对象

3.提供一个对外的对象出口
使用范围:当类太复杂,创建对象麻烦,类的开发者提供对象给用户,只能在类中创建对象,为单例模式,用户可以直接调用获取对象返回值的方法。

    //静态方法可以直接通过类调用,不需要创建对象
    public static Student create(){         
       Student student = new Student("国王", 40, 01, "苏格兰"); 在本类中创建对象
     //复杂的操作 进行创建对象
       return  student;
    }

    /**
     * @param name 设置名字
     * @param age  设置年纪
     * @param id   设置id
     * @param address 设置地址
     */

    private Student(String name, int age, int id, String address ){           //private 构造函数,一个,只能在本类中创建对象
        this.name=name;
        this.age=age;
        this.id=id;
        this.address=address;
        System.out.println("复制流程已结束");

public class Stu {
    public static void main(String[] args){
        Student student = Student.create();//直接由类调用Static create方法,返回对象
        System.out.println(student.getName());

    }
}
    }

6.如何查看一个类的代码?如何创建一个类?

查看一个类先看构造方法,静态方法(可直接执行的方法),再看属性,静态属性,方法。
创建一个类,先思考类具有的属性和行为,在写出属性和方法。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值