Java——面向对象

面向对象基础:

  1. 面向对象能够帮助咱们从宏观上把握、从总体上分析整个系统。 可是具体到实现部分的微观操做(就是一个个方法),仍然须要面向过程的思路去处理。java

  2. 类能够当作一类对象的模板,对象能够当作该类的一个具体实例。程序员

  3. 对于一个类来讲,通常有三种常见的成员:属性field、方法method、构造器constructor。ide

  4. 构造器也叫构造方法,用于对象的初始化。构造器是一个建立对象时被自动调用的特殊方法,目的是对象的初始化。构造器的名称应与类的名称一致。this

  5. Java引入了垃圾回收机制,令C++程序员最头疼的内存管理问题迎刃而解。Java程序员可将更多的精力放到业务逻辑上而不是内存管理工做,大大提升开发效率。线程

  6. this的本质就是“建立好的对象的地址”! this不能用于static方法中。code

  7. 在类中,用static声明的成员变量为静态成员变量,也称为类变量。类变量的生命周期和类相同,在整个应用程序执行期间都有效。在static方法中不可直接访问非static的成员。对象

  8. Java方法中全部参数都是“值传递”,也就是“传递的是值的副本”。也就是说,咱们获得的是“原参数的复印件,而不是原件”。所以,复印件改变不会影响原件。继承

  9. 经过package实现对类的管理;若是咱们要使用其余包的类,须要使用import导入,从而能够在本类中直接经过类名来调用。接口

· 高级语言可分为:面向过程和面向对象两大类生命周期

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. 便于管理类:合适的类位于合适的包!

· impport的做用

1. 经过import能够导入其余包下面的类,从而能够在本类中直接经过类名来调用。

· super关键字的做用

1. super是直接父类对象的引用。能够经过super来访问父类中被子类覆盖的方法或属性。

· 面向对象的三大特征:继承、封装、多态。

· Object类是全部Java类的根基类。

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

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

· final关键字能够修饰变量、修饰方法、修饰类。

· 抽象类是一种模版模式。抽象类为全部子类提供了一个通用模版,子类能够在这个模版基础上进行扩展,使用abstract修饰。

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

· 使用interface声明接口

1. 从接口的实现者角度看,接口定义了能够向外部提供的服务。

  2. 从接口的调用者角度看,接口定义了实现者能提供哪些服务。

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

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

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

面向对象高级

· 高级语言可分为:面向过程和面向对象两大类

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. 便于管理类:合适的类位于合适的包!

· impport的做用

1. 经过import能够导入其余包下面的类,从而能够在本类中直接经过类名来调用。

· super关键字的做用

1. super是直接父类对象的引用。能够经过super来访问父类中被子类覆盖的方法或属性。

· 面向对象的三大特征:继承、封装、多态。

· Object类是全部Java类的根基类。

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

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

· final关键字能够修饰变量、修饰方法、修饰类。

· 抽象类是一种模版模式。抽象类为全部子类提供了一个通用模版,子类能够在这个模版基础上进行扩展,使用abstract修饰。

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

· 使用interface声明接口

1. 从接口的实现者角度看,接口定义了能够向外部提供的服务。

  2. 从接口的调用者角度看,接口定义了实现者能提供哪些服务。

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

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

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

相关文章
相关标签/搜索