面向对象:Java简单内存分析及三个特性:封装、继承、多态

  • 简单理解内存分析

 

  • 总结
  1.  对象是通过引用来操作的:栈—>堆
  2. 属性 : 字段Field 成员变量;默认初始化:数字 0/0.0;char u0000;boolean faulse;引用 null;
  3.  

  • 封装:程序设计应追求“高内聚,低耦合”;高内聚:类的内部操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用;属性私有,get&set

 

  •  继承:本质是对类的抽象。私有无法继承。所有的类默认继承object;Java中只有单继承

JDK8新特性:表达数字时可10_0000_0000

  • super:调用父类的构造方法时,要放在第一个

  1. 子类调用父类(公有或保护)的属性
  2. 子类调用父类的方法

 

其余的类写错也会影响项目的运行 

 

  • 方法的重写:父类的功能子类不需要或不能满足;子类的方法和父类必须一致,方法体不同
  • 重写:Alt+insert->override;
  • 重写存在于子父类之间,需要有继承关系;子类重写父类的方法,重写都是方法的重写,和属性无关;重写只与非静态方法,public方法有关;方法名及参数列表必须相同;修饰符:可以扩大但不能缩小(Public>Protected>Default>Private);抛出的异常:范围可以被缩小但不能扩大;
  •  

  1. 两处修饰符都必须相同(重写都为非静态)
  2. 静态方法和非静态方法的区别;静态方法:方法的调用只和左边,定义的数据类型有关

             非静态方法(重写):          

 

 

  • 多态:实现动态编译,增强可扩展性,程序更灵活;

    多态注意事项: 1. 多态是方法的多态,属性没有多态
    2. 父类和子类,有联系类型转换异常! ClassCastException! 
    3. 存在条件: 继承关系,方法需要重写,父类引用指向子类对象! Father f1 = new Son();

 

对象能执行哪些方法,主要看对象左边的类型,和右边关系不大

 

posted @ 2022-03-08 09:36  cvhgfds  阅读(52)  评论(0)    收藏  举报