10.面向对象封装

  1. 10.面向对象-封装
    1. 10.1 知识点
      1. 面向对象回顾
      2. Java中类的封装
      3. 总结
    2. 10.2 知识点代码
      1. Lesson10_Person
      2. Lesson10_面向对象_封装

10.面向对象-封装


10.1 知识点

面向对象回顾

概念:
万物皆对象
用程序来抽象(形容)对象
用面向对象的思想来编程

面向对象三大特性
封装、继承、多态

注意:
面向对象是一种编程范式
面向对象编程语言的编程思想和使用几乎是一致的
使用C#中的面向对象编程思想去写Java即可
Java中也是通过class类去封装对象的

Java中类的封装

Java中的类声明和使用和C#中基本一模一样
声明

class 类名
{
    // 特征——成员变量
    // 行为——成员方法
    // 构造函数
    // finalize函数
    // 静态函数
}

注意:Java中没有C#中的

  1. 成员属性(有类似自动生成的get、set方法)
  2. 析构函数(有类似的finalize函数)
  3. 索引器
  4. 运算符重载
public class Lesson10_Person
{
    // 静态成员
    // 静态变量
    public static int testStaticI;

    public static void test()
    {

    }

    // 成员变量
    public String name = "韬老狮";

    public String getSecret()
    {
        return secret;
    }

    private String secret = "秘密";
    protected int age = 18;

    public Lesson10_Person girlFriend;
    public Lesson10_Person[] boyFriend;

    public E_Sex sex = E_Sex.Man;

    // 成员方法
    public void Speak(String str)
    {
        System.out.println(str);
    }

    // 构造函数
    public Lesson10_Person()
    {

    }

    // 如果声明了有参构造函数 那么默认的无参构造函数就没有了
    // 如果想要保留 需要自己实现
    public Lesson10_Person(String name)
    {
        this.name = name;
    }

    // 当对象变成垃圾 然后垃圾回收时会调用该函数
    // 下一次垃圾回收时 才会回收该对象
    protected void finalize()
    {
        System.out.println("回收");
    }

    public enum E_Sex
    {
        Man, Woman,
    }
}
Lesson10_Person person = new Lesson10_Person();
person = null;
System.gc();//回收
Lesson10_Person.test();

总结

Java中类的封装规则和C#基本一致
相对C#来说还少了不少功能,使用起来更加简单


10.2 知识点代码

Lesson10_Person

public class Lesson10_Person
{
    //静态成员
    //静态变量
    public static int testStaticI;

    public static void test()
    {

    }


    //成员变量
    public String name = "韬老狮";

    public String getSecret()
    {
        return secret;
    }

    private String secret = "秘密";
    protected int age = 18;

    public Lesson10_Person girlFriend;
    public Lesson10_Person[] boyFriend;

    public E_Sex sex = E_Sex.Man;

    //成员方法
    public void Speak(String str)
    {
        System.out.println(str);
    }

    //构造函数
    public Lesson10_Person()
    {

    }

    //如果声明了有参构造函数 那么默认的无参构造函数就没有了
    //如果想要保留 需要自己实现
    public Lesson10_Person(String name)
    {
        this.name = name;
    }

    //当对象变成垃圾 然后垃圾回收时会调用该函数
    //下一次垃圾回收时 才会回收该对象
    protected void finalize()
    {
        System.out.println("回收");
    }

    public enum E_Sex
    {
        Man, Woman,
    }
}

Lesson10_面向对象_封装

public class Lesson10_面向对象_封装
{
    public static void main(String[] args)
    {
        //知识点1:面向对象回顾
        //概念:
        //万物皆对象
        //用程序来抽象(形容)对象
        //用面向对象的思想来编程

        //面向对象三大特性
        //封装、继承、多态

        // 注意:
        // 面向对象是一种编程范式
        // 面向对象编程语言的编程思想和使用几乎是一致的
        // 使用C#中的面向对象编程思想去写Java即可
        // Java中也是通过class类去封装对象的

        //知识点2:Java中类的封装
        //Java中的类声明和使用和C#中基本一模一样
        //声明
        //class 类名
        //{
        //    //特征——成员变量
        //    //行为——成员方法
        //    //构造函数
        //    //finalize函数
        //    //静态函数
        //}

        //注意:Java中没有C#中的
        //1.成员属性(有类似自动生成的get、set方法)
        //2.析构函数(有类似的finalize函数)
        //3.索引器
        //4.运算符重载

        Lesson10_Person person = new Lesson10_Person();
        person = null;
        System.gc();//回收
        Lesson10_Person.test();

        //总结
        //Java中类的封装规则和C#基本一致
        //相对C#来说还少了不少功能,使用起来更加简单

    }
}


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com

×

喜欢就点赞,疼爱就打赏