Java面向对象之--封装

1.封装的介绍以及使用

java中的封装:将一段代码打包装起来,外界不能直接使用这段代码,但是需要对外提供一个公共的接口,供外界间接使用这段封装起来的代码

就是将细节隐藏起来(不让外界直接访问),对外提供公共的接口(让外界通过接口间接访问封装起来的代码)

封装体现:
  a.将一段代码放到方法内部 -> 方法名就是对外提供的公共接口
  b.将成员变量,方法 ->用  private修饰

private关键字:
  a.概述:代表的是私有权限,是一个权限修饰符
  b.作用:被private修饰的成员,只能在本类中使用,在别的类中使用不了
  c.使用:
    修饰成员变量:private 数据类型 变量名
    修饰方法:将之前的方法public 改成 private

操作私有属性的方法:
  a.setxxx():为属性赋值
  b.getxxx():获取属性值

public class Student {
    private String name;  //通过private关键字,将属性私有化
    private int id;       //通过private关键字,将属性私有化

    public Student() {
    }

    public String getName() {               //定义返回当前类中的name属性值的公共方法getName
        return name;
    }

    public void setName(String name) {      //定义修改当前类中的name属性值的公共方法setName
        this.name = name;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public Student(String name, int id) {  
        this.name = name;
        this.id = id;
    }
}
public class Test02 {
    public static void main(String[] args) {
        Student st = new Student();
        st.setName("战鹰");
        st.setId(1);
        String name = st.getName();
        System.out.println("name = " + name);
        int id = st.getId();
        System.out.println("id = " + id);

    }
}

2.this的介绍

概述:代表的是当前对象
  哪个对象调用的this所在的方法,this就代表哪个对象

当成员变量和局部变量重名时,会遵循"就近原则",先访问局部变量

this的作用:区分重名的成员变量和局部变量-> this.的就是成员变量
  因为this代表一个对象,对象点的肯定是成员变量,对象不能直接访问局部变量

3.构造方法

1.主要作用:创建对象,初始化对象中的属性
 2.特点:
   a.构造方法的方法名和类名一致
   b.构造方法没有返回值,连void都没有
   c.构造方法一new就相当于调用了,就直接执行了

3.1空参构造

1.格式:
  public 类名(){
  }

public class Person {

 public Person(){   //这是一个空参构造
    }

}

2.作用:
  new对象使用

public class Test01 {
    public static void main(String[] args) {
        //类名 对象名 = new 类名()
        Person p = new Person();
    }
}


3.特点:
  a.每个类中都默认有一个空参构造,即使不写,jvm也会提供一个

3.2有参构造

1.格式:
  public 类名(形参){
      为属性赋值
  }

public class Person {
    private String name;
    private int age; 

    public Person(String name,int age){
        this.name = name;
        this.age = age;
    }
}

2.作用:
  a.new对象
  b.为属性赋值
     
3.注意:
  如果写了有参构造,jvm将不再提供无参构造了,所以建议都写上

4.标准JavaBean

JavaBean是 Java语言编写类的一种标准规范。符合JavaBean` 的类,要求:

(1)类必须是具体的(非抽象 abstract)和公共的,public class 类名

(2)并且具有无参数的构造方法

(3)成员变量私有化,并提供用来操作成员变量的setget 方法。

public class Person {
    private String name;
    private int age;

    /**
     * 空参构造
     */
    public Person(){
    }

    /**
     *有参构造
     */
    public Person(String name,int age){
        this.name = name;
        this.age = age;
    }


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

    public String getName() {
        return name;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public int getAge() {
        return age;
    }
}

通用快捷键: alt+insert -> alt+fn+insert

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值