Java基础知识学习笔记(持续更新)

Java的数据结构

1
2
3
4
5
6
7
8
9
10
11
12
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set

Map
├Hashtable
├HashMap
└WeakHashMap

Java标识符

访问控制修饰符 :

  • default: (即缺省,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。
  • public :公共的
  • protected:受保护的
  • private:私有的

非访问控制修饰符 :

  • final:用来修饰类、方法和变量,final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。也就是不管修饰什么,结果都是不能进行修改。
  • abstract:用来创建抽象类和抽象方法
  • static:用来创建类方法和类变量
  • synchronized和 volatile 修饰符,主要用于线程的编程,synchronized是线程同步的意思:

StringBuilder和StringBuffer的区别

  • 由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。

构造方法

  • 使用构造方法来初始化创建的对象,构造方法没有返回值。
  • 通常会使用构造方法给一个类的实例变量赋初值,或者执行其它必要的步骤来创建一个完整的对象。
  • 相当于Python里面的类初始化函数init()

super和this关键字

  • super 是调用父类的方法,我们可以通过super关键字来实现对父类成员的访问,用来引用当前对象的父类。
  • this是调用子类的方法

继承的特性

  • 子类拥有父类非 private 的属性、方法。

  • 子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。

  • 子类可以用自己的方式实现父类的方法。
  • Java 的继承是单继承,但是可以多重继承,单继承就是一个子类只能继承一个父类,多重继承就是,例如 A 类继承 B 类,B 类继承 C 类,所以按照关系就是 C 类是 B 类的父类,B 类是 A 类的父类,这是 Java 继承区别于 C++ 继承的一个特性。
  • 提高了类之间的耦合性(继承的缺点,耦合度高就会造成代码之间的联系越紧密,代码独立性越差)。
  • 子类不继承父类的构造器,只调用

多态与overload、override

java的输入

  • 从控制台输入:java.util.Scanner类
  • 从文件输入:Java.io

Overriding和Overloading的总结

方法的重写(Overriding)和重载(Overloading)是java多态性的不同表现,重写是父类与子类之间多态性的一种表现,重载可以理解成多态的具体表现形式。

  • 方法重载是一个类中定义了多个方法名相同,而他们的参数的数量不同或数量相同而类型和次序不同,则称为方法的重载(Overloading)。
  • 方法重写是在子类存在方法与父类的方法的名字相同,而且参数的个数与类型一样,返回值也一样的方法,就称为重写(Overriding)。
  • 方法重载是一个类的多态性表现,而方法重写是子类与父类的一种多态性表现。

java封装

保证代码的安全性,比如代码中的数据通过getter或者setter进行确定。以确保减少代码漏洞。

java IO

Java中遍历Map对象的4种方法
CSDN上有收藏