2021-11-25 Java学习

学习视频:https://www.bilibili.com/video/BV18J411W7cE?p=107&spm_id_from=pageDriver

封装

private关键字:

1、是一个修饰符。

2、可以修饰成员(成员变量和成员方法)

3、作用时保护成员不被别的类使用,被private修饰的成员只在本类中可以被访问。

针对private修饰的成员变量,如果需要被其他类使用,提供相应的操作

1、提供“get变量名()”方法,用于获取成员变量值,方法用public修饰

2、提供“set变量名(参数)”方法,用于设置成员变量值,方法用public修饰

package Demo;

public class Student {
    String name ;
    private int   age ;

    //get和set方法
    public int getAge() {
        return age;
    }
    public void setAge(int a) {
        age = a;
    }
    public void show () {
        System.out.println(age);
    }
    public  void Study() {
        System.out.println("学习");
    }
    public  void doHomework() {
        System.out.println("做作业");
    }
}

private关键字的使用:

package Demo;

public class studentDemo {
    public static void main(String[] args) {
        Student girl = new Student() ;
        Student boy = new Student() ;
        System.out.println(girl) ;
        System.out.println(boy) ;
        girl.name = "小月月" ;
        girl.setAge(18);                                 //private关键字的使用
        boy.name = "小强" ;
        boy.setAge(19);                                  //private关键字的使用
        System.out.println(girl.name+girl.getAge()) ;    //private关键字的使用
        System.out.println(boy.name+boy.getAge()) ;      //private关键字的使用
        girl.doHomework() ;
        girl.show();
    }
}

this关键字:

this修饰的变量用于指代成员变量

1、方法的形参如果与变量名相同,不带this修饰的变量指的是形参,而不是成员变量。

2、方法的形参没有与成员变量同名,不带this修饰的变量指的是成员变量。

    private int   age ;

    //get和set方法
    public int getAge() {
        return this.age ;
    }
    public void  setAge(int age){
        this.age = age ;
    }

this内存原理:

 封装:

1、封装概述:

是面向对象的三大特征之一(封装,继承,多态

是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内的,外界无法直接操作

2、封装原则

将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问成员变量private。

3、封装的好处

提供方法来控制成员变量的操作,提高了代码的安全性

把代码用方法进行封装,提高了代码的复用性

构造方法:

构造方法是一种特殊的方法,用于创建对象

//格式
public class 类名{
    修饰符 类名(参数){
    }
}
package Demo;

public class Student {
    String name ;
    private int   age ;
    //无参构造方法
    public  Student() {
        System.out.println("无参构造方法");
    }

}

构造方法注意事项:

1、构造方法的创建

  • 如果没有定义构造方法,系统将给出一个默认的无参构造方法
  • 如果定义了构造方法,系统将不再提供无参构造方法

2、构造方法重载

  • 如果自定义了带参构造方法,还要使用无参构造方法,就必须再写一个无参构造方法

3、推荐的使用方法

  • 无论是否使用,都手工书写无参构造方法
package Demo;

public class Student {
    String name ;
    private int   age ;
    //无参构造方法
    public  Student() {
        System.out.println("无参构造方法");
    }
    public Student(int age){
        this.age = age ;
    }
    public Student(String name){
        this.name = name ;
    }
    public Student(int age,String name){
        this.age = age ;
        this.name = name ;
    }
}
package Demo;

public class studentDemo1 {
    public static void main(String[] args) {
        Student s1 = new Student();
        s1.show();
        Student s2 = new Student(18);
        s2.show();
        Student s3 = new Student("xiaoming");
        s3.show();
        Student s4 = new Student(18,"xiaoming");
        s4.show();
    }
}

 标准类的制作:

1、成员变量

  • 使用private修饰

2、构造方法

  • 提供一个无参构造方法
  • 提供一个带多个参数的构造方法

3、成员方法

  • 提供每一个成员变量对应的set和get方法
  • 提供一个显示对象信息的show方法

4、创建对象并为其成员变量赋值的两种方式

  • 无参构造方法创建对象后使用set方法赋值
  • 使用带参构造方法直接创建带

猜你喜欢

转载自blog.csdn.net/qq_54525532/article/details/121546234