10.面向对象-封装
10.1 知识点
面向对象回顾
概念:
万物皆对象
用程序来抽象(形容)对象
用面向对象的思想来编程
面向对象三大特性
封装、继承、多态
注意:
面向对象是一种编程范式
面向对象编程语言的编程思想和使用几乎是一致的
使用C#中的面向对象编程思想去写Java即可
Java中也是通过class类去封装对象的
Java中类的封装
Java中的类声明和使用和C#中基本一模一样
声明
class 类名
{
    // 特征——成员变量
    // 行为——成员方法
    // 构造函数
    // finalize函数
    // 静态函数
}
注意:Java中没有C#中的
- 成员属性(有类似自动生成的get、set方法)
- 析构函数(有类似的finalize函数)
- 索引器
- 运算符重载
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
 
            