Java学习的第六天:类与对象,构造器,内存分析Java,继承,封装,多态,super,方法的重写。

类与对象:

      在Java程序中,类就是值用Class修饰的对象,同时也是一个比较抽象的概念;就比如说我们日常生活中的一些事物:

             动物,植物,人,手机,电脑等这样的。

     对象: 在Java程序中就是值一个具体的事物,就好比一个人的名字,有个人的名字叫做 “张三” 而这个时候的对象就是张三,具体的直带一个人:

      它们之间的区别:

               类是一个抽象,一个模板;

              对象是一个具体的实例,

 

方法:

     方法的定义,调用:

            对应的引用:引用类型与基本类型

           对象是通过引用老操作的 ———》 栈-》堆:

          

属性:
     字段(Field)成员变量:
     默认的初始值:

      数字: 0 或 0.0

     char     00000

    boolean  false

    应用类型: null

 

对象的创建和使用:

      必须是通过new来进行创建的,实例

     Person person=new Person();

     对象的属性值调用: person.name;

     对象的方法的调用: person.sleep();

      

 类 

       静态的属性: 属性;

       动态的属性: 方法;

        三大特征:

            继承,封装,多态;

 

对象的属性: 构造器:

      

 

 

 

       并且对于构造器这一部分的内容是必须要好好掌握的;

 

内存分析,对应的是Java程序代码的一个运行过程:

 

 

          一个方法是在一个栈中运行的,但是所创建出的对象是在堆中所运行的。

# 封装: 

 

            也就是该露的露,该藏的藏,

            里面也有一句话,就是“高内聚,低偶合”      

                    高内聚的意思就是:在一个Java程序中,就是值内部的数据细节部分自己操作,不允许被外部操作。

                    低耦合:就是值将一个代码仅露出一小部分方法出来,供外部使用;

       封装:

         就是将数据进行隐藏起来:

           数据的隐藏)

                      通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息的隐藏。

                         属性私有:get/set private

                           封装的意义: 就是提高程序的安全性,保护好数据;

                                      2:隐藏代码的实现细节

                                     3: 统一接口

                                     4.系统的可维护增加;

 

继承:

       就是

 

            就是指继承父类的方法,但是有些东西是无法继承的,就是私有化的。

                  继承:继承就是扩展的意思:子类是副类的扩展;

                 并且在 Java程序中,只有单继承,没有多继承

                这个是类与类之间的关系;

                其次就是私有的东西是无法被继承的!

 

 # Java代码的修饰符:

       public-》 protected——》default-》priva;属性范围从大到小;

              

注意:

在Java的程序中,所有的类都是继承 Object类

 

重写方法的重写,与属性值无关:

一个对象的实际类型是确定的

可以指向引用类型就不是了

 

super

this与super之间的区别:

this是访问的当前这个类的属性,也就是当前这个类的属性:

super 就是调用父类的属性:

super就是调用父类;

其次就是调用父类的super就必须要使用在第一行,如果不是放在代码的第一行,就是使得代码报错;

super();就是调用父类的无惨构造方法。

且在使用的过程中,就是必须要吧父类的无惨构造写好。

如果不写的话,那么子类是无法调用super()方法。且子类也不能书写无惨构造函数

super注意点:

1、super调用父类的构造方法,必须在构造方法的第一个

2、super 必须只能出现在子类的方法,或者构造方法中

3、super和this不能同时出现在同一个构造方法中

this

代表的对象是不同:

this:本身调用者这个对象

super:代表父类对象的引用

前提:

this:没有继承也可以使用

super:只能在继承条件下才可以使用

构造方法:

this();本类的构造

super ();父类的构造!

 

方法的重写:

重点:-----------》关系到多态:

只是针对的是非静态的方法:

并且针对的修饰词都要是 public

总结:

重写: 需要有继承关系,并且是子类重写父类的方法;

1、方法名必须相同

2、参数列表必须相同

3、修饰符: 范围可以扩大,但是不能缩小

4、抛出的异常:范围,可以被缩小,但是不可以扩大。

重写:子类的方法要与父类必须一直,

为什么需要重写:

1、子类的功能--》不一定需要,或者不一定满足。

image-20210620221339070

重写方法的快捷键:

Alt+Insert ——》 override;

 

 

多态:

image-20210620221606329

 

posted @ 2021-06-21 00:19  九块钱的代码  阅读(54)  评论(0)    收藏  举报