JavaSE面向对象-封装

一.面向对象的三大特性
说起Java的面向对象,大家想到的都应该是面向对象的三大特征,封装,继承,多态,这里就总结一下面向对象的封装一些知识.
1.封装的概念:
面向对象是一个抽象的,个人认为是对类的一个提升,提取和抽象化,而一些东西你提取了之后,又不想让别人随意的更改,那么你就需要对这个信息就行隐藏,那么这个时候就需要封装。
封装的好处:
1.提高安全性,把不必要的信息隐藏
2.加强对成员属性的控制,提高易用性
3.代码更加的简洁,提高代码的复用性和可读性

因为有封装问题,所以会有一些权限修饰符,在Java中现在就我们涉及的权限修饰符不是很多,有以下几个:

public --->公开的,权限最大的修饰符。
protected ---->受保护的,子类和本类,如果是在另外一个包中的子类,也可以使用protected修饰的父类内容
default ---->默认权限,包中有效
private ---->私有化权限,只能在本类使用

上面几个权限修饰符,修饰类,方法和属性。
get和set方法
在封装的时候,在封装一些信息的时候,对属性进行了private修饰,所以不能够直接去访问,这时候我们就需要提供一个接口来对外提供一个入口,就会用到get和set方法:

set//获得值
比如说:
private int age;
//get
public void set age(){
    this.age = age;//this关键字指向调用对象,这里默认是隐藏的
}
//set
public int gerAge(){//因为有返回值,所以要有返回值类型
    retun age;
}

这就是get和set的用法,暂时只遇到这一个用法,如果有其他的就以后进行补充。this关键字指的就是当前调用这个实例方法的对象,在本类调用对象的时候,可以不用写this
构造方法/重载
1.构造方法在类中作用就是对对象进行一个初始化
2.构造方法也可以用修饰符修饰
3.构造方法方法名和类名字相同
重载:使用相同的方法名实现不同的功能
1.重载只能在本类中
2.方法名必须相同
3.参数列表不相同

class Demo{
    priavte int age;
    private String name;
    private String name;
        //定义一个构造方法
    public Person(){
        //空参构造方法
    }

    public Person(String name,int age){
        //有参构造器


    public Person(String name,String sex,int age){
        //构造器重载
    }
}

这里就把重载和构造器一并写了,构造器主要作用就是初始化对象,如果不写构造器,那么系统会自己默认一个空参构造方法。构造方法的传值是在创建对象的时候进行传值。一个类中可以有多个构造器,所有的构造器必须与类同名。
重载就是使用同一个方法名,实现不同的功能,当你只有一个值的时候对应传给一个值的方法,两个值的时候传给两个参数相符的方法,以此类推。

final
在封装的过程中,有final关键字,当被final关键字修饰的时候,一个变量就会转换为一个常量,就变成了不可更改的值
static
在类中用static修饰的变量,就成为了类变量,在整个类中有效
this
this 使用举例
 使用 this 调用成员变量,解决成员变量和局部变量同名冲突。
public void setName(String name){
this.name =name; // 成员变量和局部变量同名,必须使用 this


class Demo1{
    static int age = 20//类变量

    final String name = "张三";//此时张三这个值就不能在更改

public void setName(String name){
this.name =name; // 成员变量和局部变量同名,必须使用 this
}

总结:因为学了一段时间再来写的这个博客,就当是对封装的一次回顾,总结了一些自己能想起的知识点,也想起一些细节没有注意到的地方,对于封装,使用基本没问题,就是有时候想不到什么时候用封装,细节方面有欠缺

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值