栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【狂神说JAVA笔记(七)】P60~P70 类与对象的关系,封装,继承,super与this关键字

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【狂神说JAVA笔记(七)】P60~P70 类与对象的关系,封装,继承,super与this关键字

B站 狂神说JAVA P60~P66

(一)类与对象的关系

类是一种抽象的数据类型,它对某一类事务整体描述/定义,但是不能代表一个具体的事物。对象就是抽象概念的具体事例。

使用new 关键字来创建对象。

1.一般来说,一个项目应该只存在一个main方法,其他的类里最好不要有main方法.
2.一个类中没有其他的东西,只有属性和方法。

主类:

public class Application {
    public static void main(String[] args) {
        Student stu = new Student(); //主类中通过new关键字创建一个新的对象
        stu.printname();
    }
}

方法类:

public class Student {
    String name; //类中定义属性
    int age;

    public void printname(){ //类中定义方法
        System.out.println("Student name function is using.");
    }
}

(二)封装

程序设计要遵循 “高内聚,低耦合” 的原则——
高内聚是指内部数据的操作细节自己完成,不允许外界干涉;
低耦合是指,仅暴露少量的方法给外部使用。

封装(数据的隐藏)
通常来说应该直接禁止直接访问一个对象中数据的实际表示,而应该通过操作接口来访问,这乘坐信息隐藏。

总而言之,属性是私有的。
get / set

(封装一般来说是针对属性的。)

public class Student {
    public static void main(String[] args) {
        Stu s1 = new Stu();
        //获得Name属性
        System.out.println(s1.getName());
    }
}
public class Stu{
    private String name; //私有姓名
    private int id; //学号
    private char sex;  //性别

    //私有的属性是没法通过.来点出来的
    //也即属性无法在外界直接获得,而是通过方法来转出去
    public String getName(){
        return this.name;
    }//转出name值,提供一个公共的方法给出类中私有的值

(三)继承

继承的本质是对某一批类的抽象,从而实现对世界更好的建模。

extends的意思是“扩展”, 子类是父类的扩展。

JAVA中只有单继承,没有多继承!

继承是一种类和类之间的关系。

1.子类可以调用父类的方法

父类

public class Person { //父类
    public  void say() //父类方法
    {
        System.out.println("你爹说话呢。");
    }
}

子类

public class Man extends  Person{ //男人也是人,男人的类继承Person

}

主类

public class Application {
    public static void main(String[] args) {
        Man m1 = new Man();//创建一个子类对象
        m1.say();//使用父类的方法输出
    }
}

输出结果:

但如果父类的方法或者属性是私有的,子类也不能获得。

2.一般来说只有属性是私有的,方法都是公有的

“你爹的钱你不能直接获得,但可以通过一些方法获得。”

一个快捷键:ctrl+H

可以显示继承结构。

3.在JAVA中,所有的类都是默认继承object类的

它是java.lang包下的。

(四)super关键字

super 代表父类,this代表当前类

public class Man extends  Person{ //男人也是人,男人的类继承Person
    private  String name ="父类的Name属性";

    public void test(String name){
        System.out.println(name);  //主类中传参过来的属性
        System.out.println(this.name); //子类属性
        System.out.println(super.name); //父类属性
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/344997.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号