2020-01-20 javaDay7-9

1. 面向对象

  * Java的程序一半是运行在多工环境(同一时间有好多人使用)

  * 为了保证代码和数据的安全性 每个人使用的类必须分开

  * 所以, Java中会造一个模板, 用户使用时, 通过模板造出每个人专属的对象

  * 所以, Java成员每天都在跟对象打交道, 咱们称之为面向对象编程

2. 类的使用

  * 工具

  * 模板

    * 成员变量和成员方法混合使用

    * 单独使用成员变量的(javaBean)

3. 对象

  * 根据模板创建的实例 ,存放在堆内存中

  * 一个类可以创建无数个对象

  * 类名 对象名 = new 类名();

4. 成员变量和局部变量

  * 书写的位置

  * 内存中的位置

  * 生命周期

  * 初始化值

5. 匿名对象

  * 没名字的对象

  * 用一次就不用了

6. private 关键字

  * 私有化 , 本类中的其他成员可以使用, 别的类中无法使用

7. javabean

  * 用来存储运输数据

  * 私有化所有的成员变量

  * 提供getter和setter方法

  * 提供toString方法

8. this

  * 表示当前对象

  * 哪个对象调用这个方法, this就代表谁



构造方法

特性 : 随着创建对象而自动执行  和创建对象这个动作时紧密相连的

作用 :

        优先于成员方法执行,

        给方法运行时的必要成员变量赋值

构造方法的重载

        所有存在的可用的构造方法都是重载关系

        构造方法之间可以相互调用 this ()

类成员之间相互调用

        成员变量和成员方法之间是可以相互调用的

        构造方法可以调用成员变量和成员方法

        构造代码块也可以调用成员变量和成员方法

        成员变量和成员方法无法调用构造代码块和构造方法

        构造方法和构造代码块相互无法调用

代码

        局部代码块 : 写在方法内  及时释放资源

        构造代码块 : 优先于构造方法执行, 可以将构造方法中相同的代码提取出来,放到构造代码块中

        静态代码快 : 类加载时执行, 优先于对象, 一般用来注册驱动

        同步代码快 : 保证多线程的安全性

静态

        类加载的过程中,在初始化类的时候, 会将所有的静态存入静态方法区(能执行的就直接执行了), 独一份

        优先于对象, 更优先于所有非静态

        唯一的, 公用的

        静态的调用

        静态只能调用静态  , 非静态可以调用静态

        因为静态存在的时候, 非静态不一定存在, 如果直接调用, 有危险, 虚拟机不允许

        非静态执行时,静态一定存在, 所以,可以放心的使用



单例模式

解决一个类在内存中如何只保持一个对象的问题

类为什么要在内存中只有一个对象?

节省创建对象的时间和存储对象的空间,而且不会占用静态方法区的空间

私有化构造方法

定义一个私有化的静态变量用来存放我们自己创建的对象

提供一个静态的方法,供用户获取对象

继承

子类类名 extends 父类类名

子类可以使用父类的非私有成员

提高了代码的复用性 和 维护性

类和类之间的关系加强了, 不符合编程的理念

注意事项

父类中的私有化成员不能继承

super关键字

构造方法,  子类会默认访问父类的空参构造,我们没写,编译器会自动加上

如果父类中没有空参构造, 子类会报错

需要我们手动调用父类的空参构造,或者去父类中添加一个空参构造

super() 必须是子类构造方法的第一条执行语句

方法的重写

子类和父类中出现了一模一样的方法, 这种现象叫做重写

方法名和参数列表必须一样

子类重写父类的方法, 意味着, 子类的方法对父类的方法形成了全遮挡

注意事项

子类的权限不能比父类低

父类的中的方法如果是静态的, 子类重写的时候也必须是静态的

父类的私有化方法不能重写, 因为压根看不见

instanceof关键字

用来比较对象是不是属于这个类或者这个类的父类

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 2,849评论 2 9
  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 2,687评论 0 11
  • 面向对象笔记 一、 对象在内存中的存放方法以及被调用过程 class文件首先被加载到方法区中的class文件内容区...
    VictorBXv阅读 485评论 0 2
  • 面向对象的思想: 面向对象区别于面向过程而存在的,在早期的编程语言中,我们是先固定功能,然后根据功能来编写代码,每...
    啊波波波er阅读 214评论 0 0
  • 第四章 面向对象 面向对象思想 面向对象思想的引入前面我们讲过数组,当有多个数组都需要遍历时,我们可以将遍历的代码...
    chongsheng阅读 581评论 0 0