Java学习总结:面向对象、集合、多线程和继承

需积分: 9 2 下载量 131 浏览量 更新于2024-09-20 收藏 41KB DOC 举报
Java(J2SE、J2EE)学习小结 本文档总结了Java(J2SE、J2EE)的学习要点,涵盖了面向对象思想、作用域、集合类、多线程、继承、内部类等知识点。 一、面向对象思想 面向对象思想是Java编程的核心概念,它强调的是以对象为中心的编程思想。面向对象思想有三个基本特征:封装、继承和多态。封装是指将数据和操作数据的方法封装到一个单元中,继承是指一个类可以继承另一个类的特征,多态是指一个类可以有多种形态。 二、作用域 在Java中,作用域分为四种:public、private、protected和默认作用域。public作用域是指可以被所有类访问的成员变量或方法,private作用域是指只能被同一个类访问的成员变量或方法,protected作用域是指可以被同一个类和其子类访问的成员变量或方法,默认作用域是指可以被同一个包中的类访问的成员变量或方法。 三、集合类 Java中有多种集合类,包括ArrayList和Vector、HashMap和Hashtable等。ArrayList和Vector都是可变大小的数组,但是ArrayList是线程不安全的,而Vector是线程安全的。HashMap和Hashtable都是键值对的集合,但是HashMap是线程不安全的,而Hashtable是线程安全的。 四、多线程 Java中有多种实现多线程的方法,包括继承Thread类、实现Runnable接口、使用线程池等。同步有多种实现方法,包括使用synchronized关键字、使用Lock接口等。 五、继承 继承是Java中的一种机制,允许一个类继承另一个类的特征。在继承过程中,子类可以继承父类的成员变量和方法,并且可以override父类的方法。在继承过程中,父类的构造器会被调用,子类的构造器也会被调用。 例如,下面的代码演示了继承的过程: ```java public class FatherClass { public FatherClass() { System.out.println("FatherClassCreate"); } } public class ChildClass extends FatherClass { public ChildClass() { System.out.println("ChildClassCreate"); } public static void main(String[] args) { FatherClass fc = new FatherClass(); ChildClass cc = new ChildClass(); } } ``` 输出结果: ``` FatherClassCreate FatherClassCreate ChildClassCreate ``` 六、内部类 内部类是Java中的一种机制,允许在一个类中定义另一个类。内部类可以访问外部类的成员变量和方法。例如,下面的代码演示了内部类的实现方式: ```java public class OuterClass { private class InnerClass { public InnerClass() { System.out.println("InnerClassCreate"); } } public OuterClass() { InnerClass ic = new InnerClass(); System.out.println("OuterClassCreate"); } public static void main(String[] args) { OuterClass oc = new OuterClass(); } } ``` 输出结果: ``` InnerClassCreate OuterClassCreate ``` 七、内部类的实现方式 内部类可以以多种方式实现,例如,下面的代码演示了内部类的实现方式: ```java public class OuterClass { private double d1 = 1.0; // insert code here } ``` 需要在第三行插入内部类的声明,例如: ```java public class OuterClass { private double d1 = 1.0; private class InnerClass { public InnerClass() { System.out.println("InnerClassCreate"); } } } ``` 本文档总结了Java(J2SE、J2EE)的学习要点,涵盖了面向对象思想、作用域、集合类、多线程、继承、内部类等知识点,希望这些知识点能够帮助读者更好地学习Java编程。