• OOP


    为什么要有包名:解决类名冲突的问题;

    重写:子类的方法名和参数列表于父类的方法相同,但方法的实现不同;当子类对象的重写方法被调用时

    无论通过父类的引用还是子类的引用来调用,运行的是子类的重写后的版本;

     

    重载和重写的区别:

      1.重载是指在一个类中定义多个方法名相同但参数列表不同的方法,在编译时根据参数的个数和类型来决定绑定哪个方法;

      2.重写是指在子类中定义和父类完全相同的方法,在程序运行时,根据对象的类型不同(不是引用类型)而调用不同的版本;


    局部变量:

      1.定义在方法中;

      2.方法被调用时,存在栈中,方法调用结束从栈中清除。

      3.没有默认值必须自行设定初始值

    成员变量:

      1.定义在类中,方法外;

      2.类被实例化后,存在堆中,对象被回收时,成员变量失效。

      3.有默认初始值,可以不显示初始化;

    JVM:的作用:为java程序提供并管理所需要的内存空间;JVM内存分为 堆,栈,方法区,分别用于存储不同的数据;

    堆:用来放new关键字所创建的对象;当一个对象没有任何引用时视为被放弃的对象,用System.gc();回收

    栈:用于存放方法中的所有局部变量,即引用变量

    方法区:类的各种信息(包括方法)都在方法区中存储;

    继承:

    子类继承父类,当父类只有有参构造,没无参构造时候,在子类的构造方法中必须在第一行调用super()来调用父类的内容;

    访问控制修饰符 =================================================

     ==============================================static、final

    static变量是属于类的变量可以通过类名来引用,存在方法区中,不属于对象的数据结构

    final 关键字修饰成员变量,意为不可改变。(也可以修饰局部变量,使用 );

    final关键字修饰的方法不能被重写(意义:防止子类在定义方法时候造成不经意的重写);

    final关键字修饰的类不能被继承:例如String.Math  Integer  Double等基础类不能被继承。

  • 相关阅读:
    解决android Failed to rename directory 问题
    Android APK反编译
    SQL的bit列名转换成access是/否数据类型,True无效的问题
    android获取屏幕硬件分辨率方法
    cursor:hand 与 cursor:pointer 的区别
    解决android调试是出现:Reinstallation failed due to different application signatures
    Flash as3 基础:AS3中的getChildByName(转)
    机器学习之特征预处理
    用户态和内核态的区别
    深度学习和神经网络的区别(转载)
  • 原文地址:https://www.cnblogs.com/21heshang/p/6000646.html
Copyright © 2020-2023  润新知