JAVA学习笔记1

一、JAVA面向对象之封装

      1、public:所有的用户都可以访问定义在其后的变量和接口函数。

      2、private:只有内部成员才可以访问。

      3、protected:只有内部成员和继承的子类可以访问。

  4、friendly:在同一个包内的所有用户都可以访问,如果不特殊指定上述三种权限,默认为此。

二、JAVA面向对象之继承

  1、JAVA中使用extends关键字实现继承。

  2、子类和父类是相同的类型,如:

 1 class A
 2 {
 3         int a;
 4 }
 5 class B extends A
 6 {
 7         int b;
 8 }
 9 
10 A a = new B();//正确
11 B b = new A();//错误

  3、继承的两种用途[A]为父类添加新的功能函数借口[B]重写父类的某个函数接口(接口的覆盖)。

三、JAVA面向对象之抽象类,抽象接口

  1、JAVA使用关键字abstract实现抽象类和抽象接口。

  2、抽象类表示该类型只能被子类继承而不能独立的创建对象。

  3、抽象方法存在于抽象类中,本身没有任何代码。子类在继承抽象类时才对抽象方法进行实现。

  4、interface关键字用来定义抽象方法,即接口。

四、JAVA面向对象之对象的内存管理和生存周期

  1、java的内存同C++一样都有两种,堆内存和栈内存。栈内存是编译时就向操作系统申请好的内存,如int a等。堆内存是在运行过程中动态向操作系统申请的,比如new int等。堆内存的申请比栈内存慢,且开销大。在释放内存时,栈内存在其生存周期结束后自动被系统释放,如函数结束时。堆内存在C++中需要手动delete,而java中则使用垃圾回收器。JAVA中所有句柄放在栈,实际对象在堆。

  2、生存周期:JAVA中如何判断一个变量需要被释放?当句柄不指向它时?

五、JAVA数据结构之集合和迭代器

  1、如果事先不知道需要多少个对象,或者它们的持续时间有多长,那么也不知道如何保存那些对象,则可以使用集合这种数据结构。

  2、迭代器相当于操作集合数据的指针,像数组下标一样。

  3、有些功能相同的集合可能应用场合不同,比如向量和列表。

六、JAVA面向对象之单根结构

  1、java 中所有类不允许多重继承,所有的的对象都继承与Object基类。

 

 

posted @ 2013-04-24 09:48  学而知不足  阅读(183)  评论(0编辑  收藏  举报