面向对象的进阶

JAVA面向对象的进阶

  • 高级语言可分为:面向过程和面向对象

    1.面向过程和面向对象都是解决问题的思维方式,都是代码组织的方式。

    2.解决简单问题可以使用面向过程。

    3.解决复杂问题:宏观问题使用面向对象的把握,微观处理上仍然是面向过程。

  • 对象和类的关系是从特殊到一半,具体到抽象的关系

  • 栈内存
    1.每个线程私有,不能实现线程间的共享!

    2.局部内存放置在栈中。

    3.栈是由系统自动分配,速度快。栈是一个连续的内存空间!

  • 堆内存
    1.放置new出来的对象!

    2.堆是一个不连续的内存空间,分配灵活,速度慢!

  • 方法区
    1.被所有线程共享!
    2.用来存放程序中永远是不变或唯一的内容(类代码信息、静态变量、字符串常量)。
    ·

  • 属性用于定义该类或该类对象包含的数据或者说静态属性。属性作用范围是整个类体。Java使用默认的值对其初始化。

  • 方法则用于定义该类或该类实例的行为特征和功能实现。方法是类和对象行为特征的抽象。·

  • 构造器又叫做构造方法(constructor),用于构造该类的实例。Java通过new关键字来调用构造方法,从而返回该类的实例,是一种特殊的方法。

·

  • 垃圾回收机制

    1. 程序员无权调用垃圾回收器。
    2. 程序员可以通过System.gc()通知垃圾回收器(Garbage Collection,简称GC)运行,但是Java规范并不能保证立刻运行。
    3. finalize方法,是Java提供给程序员用来释放对象或资源的方法,但是尽量少用。·
  • 方法的重载是指一个类中可以定义有相同的名字,但参数不同的多个方法。 调用时,会根据不同的参数表选择对应的方法。

·

  • this关键字的作用

    1. 让类中的一个方法,访问该类的另一个方法或属性。
    2. 使用this关键字调用重载构造方法,可以避免相同的初始化代码,只能在构造方法中用,并且必须位于构造方法的第一句。·
  • static关键字

    1. 在类中,用static声明的成员变量为静态成员变量,也称为类变量。
    2. 用static声明的方法为静态方法。
    3. 可以通过对象引用或类名(不需要实例化)访问静态成员。·
  • package的作用

    1. 可以解决类之间的重名问题。
    2. 便于管理类:合适的类位于合适的包!·
  • import的作用

    通过import可以导入其他包下面的类,从而可以在本类中直接通过类名来调用。· 
    
  • super关键字的作用

  • super是直接父类对象的引用。可以通过super来访问父类中被子类覆盖的方法或属性。

  • · 面向对象的三大特征:继承、封装、多态。· Object类是所有Java类的根基类。·

  • 访问权限控制符:范围由小到大分别是private、default、protected、public。

  • · 引用变量名 instanceof 类名 来判断该引用类型变量所“指向”的对象是否属于该类或该类的子类。·

  • final关键字可以修饰变量、修饰方法、修饰类。

  • · 抽象类是一种模版模式。抽象类为所有子类提供了一个通用模版,子类可以在这个模版基础上进行扩展,使用abstract修饰。

·

  • 使用abstract修饰的方法为抽象方法必须被子类实现,除非子类也是抽象类。

  • 使用interface声明接口
    1.从接口的实现者角度看,接口定义了可以向外部提供的服务。
    2.从接口的调用者角度看,接口定义了实现者能提供哪些服务。·

  • 内部类分为成员内部类、匿名内部类和局部内部类。

  • String位于java.lang包中,Java程序默认导入java.lang包。

  • 字符串的比较"=="与equals()方法的区别。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值