本文章主要是知识点,后续会出模拟卷
以下是选择、填空可能考的知识点,多看几遍,混个眼熟
- 面向对象程序设计的基本特征是:抽象、封装、继承、多态(后三个是三大特性)
- Java源文件的扩缀名是.java
- 编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为.class
- HelloWorld.java 编译成功后会生成一个HelloWorld.class文件
- 开发与运行java程序需要经过的三个主要步骤为:编译源程序、编译生成字节码文件、解释运行字节码
- 在Java语言中,体现多态性有两个方面:overloading(重载)和overriding(重写、覆盖)
- package语句要放在文件开头,且必须放在import语句之前
- Java源程序的文件名必须必须与public类的类名相同
- Java源文件中可以多个类,至多一个类可以使public类
- 类是Java中基本的结构单位
- Java应用程序有若干个类所构成,它们可以分布在一个或多个源文件中,其中必须有1个源文件含有主类
- Java应用程序总是从主类的main方法开始执行
- Java源文件如果含有主类,主类可以是public类、默认(不写public 为default)类
- String类在java.lang包中
- Java的字符类型采用的是Unicode编码
- Java的各类数据所占用的长度与具体的软硬件平台环境无关(也就是说不管是32位系统还是64为系统,int都是4字节、double都是8字节,注意区分和C语言的不同)
- 在Java的基本数据类型中,char型采用Unicode编码方案,每个编码占用2个字节内存空间。无论是中文字符还是英文字符,都是占用2字节内存空间
- 在Java的方法中,定义一个常量必须用关键字final
- 基本数据类型包括:布尔型、整数型、浮点型、字符型
- 浮点型数据根据存储长度的精度的不同,降一补划分为double和float两种具体的类型,double精度高一些,为默认类型
- 字符串分为两类,一类是字符串常量,使用String类的对象来表示;另一类字符串是字符串变量,使用StringBuffer类的对象表示
- StringBuffer对象的字符序列可以修改,String对象的字符序列不可以修改
- Java语言的标识符是区分大小写的
- 在Java中,\是转义字符,\n表示回车,\t表示tab键(制表键),\\表示\字符本身
- Java程序中的的单行注释符是//,多行注释符是/**/
- 即使条件不满足,do-while循环体中的语句也至少执行一次
- for循环、while循环、do-while循环可以互相嵌套,都可以产生死循环,循环体里都可以为空
- 方法中可以包含任意个return语句,return语句可以返回任何数据类型
- 同一方法不可以同时使用static和abstract修饰
- 方法的修饰如果有public、abstract,必须放在方法的类型的前面
- abstract方法是一种仅有方法头,没有方法体的方法;这种方法只能存在于abstract类和接口中
- 在面向对象方法中,类的实例化称为对象
- 类声明class A 等价于class A extends java.lang.Object
- 在Java中定义抽象类则需要加关键字abstract来修饰
- abstract和final不可以同时修饰系统一个类
- abstract类中可以有abstract方法,可以有非abstract方法
- interface中只可以有abstract方法,不可以有非abstract方法
- 类的实例方法不可以用;类名直接调用,类中的静态方法可以用类名直接调用
- 同一个类的对象使用不同的内存段
- 静态成员使用相同的内存空间
- 成员变量有默认值,局部变量没有默认值(所以局部变量在使用的时候一定要初始化,否则会报错)
- 成员变量的值可以和局部变量的名字相同
- 类成员的权限修饰1符的访问权限大小关系是public>protected>private
- 方法的参数的名字不可以和方法中声明的局部变量的名字相同
- 定义私有的成员方法或者成员变量时,不必在类的开头部分集中定义,利用关键字private定义
- 被私有访问控制符private修饰的成员变量,只能被该类自身所访问和修改,不能被与它在同一个包中的其他类、在其他包中的该类的子类所访问和修改
- String类是final类
- final类可以有0个子类,非final类可以有多个子类
- 除了java.lang.Object类,任何类有且只有一个父类
- 在Java中,任何类的根类/父类/超类是java.lang.Object
- 子类和父类可以不在一个包中
- 在Java中,关键字final使类不能派生出子类
- 子类可以声明和父类的成员变量同名的成员变量
- 子类声明的成员变量的名字和父类继承来的成员变量名字相同,子类就会隐藏所继承的成员变量
- 一个类中可以有多个构造方法
- 构造方法不可以用final、static修饰
- 构造方法是类的一种特殊方法,它的主要作用是完成对类的对象的初始化工作,它的方法名必须与类名相同
- 一般在创建类的对象的时候,系统会自动调用构造方法,自动调用是通过关键字new实现的
- 创建类的对象的时候,使用运算符new给对象分配内存空间
- Java语言对构造方法的返回类型的规定是:没有返回类型
- Java语言规定构造方法可以重载
- 即使一个类中未显示定义构造方法,也会有一个默认的构造方法,默认的构造方法的参数情况是:无参,函数体的情况是:函数体为空
- 子类不继承父类的构造方法
- 子类构造方法中可以有多条super调用父类的某个构造方法的语句
- 如果在子类的构造方法中,没有显示地写出super关键字来调用父类的构造方法,那么编译器就默认地有super();调用父类的无参数的构造方法
- 如果在子类的构造方法中,显示地写出了super关键字来调用父类的某个构造方法,那么编译器就不在提供默认的super语句
- super关键字形成的语句必须是子类构造方法中的第一条语句
- 子类中想使用被子类隐藏的实例成员方法或实例成员变量就需要使用关键字super
- 重载方法是指,一个类中定义两个方法,方法名相同,参数不同,返回值不做要求
- 重写方法是指,子类中有与父类相同的方法,方法名相同,参数相同,返回值相同
- this不可以出现在static方法中,可以出现在实例方法和构造方法中
- 子类可以定义和父类的方法同名的方法
- 子类在方法重写时,不可以把父类的类方法(静态方法)重写为实例方法
- 子类在方法重写时,方法的访问权限不可以降低,但是可以提高
- 接口可以用public修饰,不可以用private或protected修饰
- 接口中只可以有常量,不可以有变量
- 接口中只可以有abstract方法,不可以有非abstract方法
- 接口中的常量必须指定初值
- 接口中的常量可以用接口名直接访问
- 除了final属性,接口中定义的常量还具有public、static属性
- 接口中的方法访问权限一定是public
- 接口中的方法不可以用private或protected或final修饰
- 接口中的void f();方法声明等价于public abstract void f();
- 接口中的常量可以存放实现该接口的类的实例的引用
- abstract类可以实现接口、final类可以实现接口
- 类使用关键字implements实现接口
- 定义一个类继承父类的关键字是extends,定义一个接口继承接口的关键字是extends
- 一个类可以继承一个类,一个类可以实现多个接口,一个接口可以继承多个接口
- 一个类可以同时继承一个类和实现一个接口
- 一个类不可以重复实现同一个接口
- 类和它所实现的接口不一定在同一个包里
- 一个类声明实现一个接口,但是没有重写接口中的所有方法,那么这个类一定是抽象类
- 抽象类可以重写接口中的方法,也可以继承接口中的方法
- 如果一个非抽象类实现某个接口,该类必须重写接口中的全部abstract方法
- 子接口将继承父接口的全部方法和全部变量
- Integer.parseInt(" "),双引号内不是整数时会触发NumberFormatException异常
- FileNotFoundException类是IOException类的子类
- Throwable类有两个重要的子类:Exception(异常)和Error(错误)
- 所有异常的父类都是Throwable类
- 捕捉异常通过try-catch-finally语句实现
- try-catch语句可以由多个catch组成
- 在编译异常处理的Java程序中,每个catch语句块都应该与try语句块对应
- 在异常处理中,将可能产生异常的语句放在try块中,用catch语句去处理异常
- 如果想在方法头抛出异常,那么需要关键字throws;如果想在方法体内抛出异常,那么需要关键字throw
- FileReader输入流按字符(char)读取文件的内容,FileWriter输出流按字符(char)写出数据
- FileOutputStream输出流按字节(byte)写出数据
- 程序如果需要读取程序“外部”的数据,可以创建指向外部的输入流
- 程序如果需要将程序中的数据写入到程序“外部”,可以创建指向外部的输出流
- 如果程序要读取一个文件,可以创建指向文件的FileInputStream流、FileReader流
- 如果程序要写入一个文件,可以创建指向文件的FileOutputStream流、FileWriter流
- import.java.sql.*命令可以使我们再程序中创建数据库相关的对象
- import.java.io.*命令可以使我们再程序中创建输入输出流相关的对象
- import.java.net.*命令可以使我们再程序中创建网络相关的对象
- 线程状态可以分为五大状态:新建、就绪、运行、阻塞、死亡
- 多线程系统中,多个线程之间有同步和互斥两种关系