Java程序设计教程易考概念总结+背诵(复试自用)

主要总结java与c++中不同的纯语法规则及注意事项

第一章 p11

1、java语言特点:平台独立性、安全性、多线程、网络化、面向对象
安全性:无指针这种数据类型、强类型的程序设计语言,要求显式声明、垃圾自动回收机制、提供异常处理机制、出现运行时会对数组和字符串进行越界检查。
多线程:提供Thread类。
网络化:通过标签嵌入html文件中。
面向对象:封装、继承、多态。

2、java程序结构:大小写敏感,类名首字母大写

第二章 p25

1、标识符:必须以字母、美元符号、下划线开头(不能数字开头)
2、多次用到的常量用final(类似于define)初始化后不再被修改
3、强制类型转换(用于变窄转换)例:

float f = 11.5short b;
b = (short)f;

4、byte是整型中最小的,范围:-128~127
short类型:-32769~+32767
5、long尽量少用,减少存储空间支出
6、利用label:和continue label/break label;可以跳过不必要的步骤或跳出两重循环

第四章

1、数组的初始化方法

short a[] = new short [10];

int len = a.length;

float b [][]=new float [3][ ];
b[0] = new float [2];
b[1] = new float [3];

可用此种方法创建非等长字符数组

主函数和其他方法间传参可以通过数组首地址,例:

public static void main(String[] args){
    int x[]={1,2,3};
    display(x);
}
public static void display(int y[]){
}

第五章 p109

1、public:此类可在其他任何类中使用,若省略,在同包中其他类使用。
abstract:抽象类,不能被实例化。
final:不能被继承,没有子类。
2、除object类之外,所有类都有父类。
3、extends只有智能跟唯一的父类,使用extends只能实现单继承。
4、static修饰类变量,无static修饰的是实例变量,需实例化该类才可使用。类变量出自同一份拷贝,实例变量拥有各自的实例变量版本。
5、
在这里插入图片描述
6、关于方法重载(参数名不同、个数不同或类型不同)

7、构造方法名与类名相同,不返回数据类型,一般声明为public型(若为private型不能创建对象,因为构造方法是在外部被默认调用的)
若不显示定义构造方法,java会提供默认的构造方法,每个类都有构造方法,用来初始化类的新对象。构造方法也可以进行重载,构造方法也只能用new运算符调用。

8、private:只能被该类本身访问
default:同一个包中的所有类
protected:该类本身、任意包中该类的子类及同一个包中的所有访问
public:可以被所有类访问

9、包是类和接口定义的集合
包的创建:package 包名;
import语句引入所需要的类

第六章 p140

1、父类和子类之间具有:共享性、异步性、差异性,父类代表了子类的共性,子类继承父类的这些共性。
子类的对象拥有父类的全部属性和方法,父类对象不能拥有。

2、object类是根类,定义在java.lang包中。

3、java不直接支持多重继承

//创建子类
class 子类名 extends 父类名{
    ....
}

4、子类从父类中继承所有的非private属性和方法
子类通过成员变量的隐藏和方法的重写可以把父类的状态和行为改变为自身的状态
成员变量的隐藏:重新定义一个与继承来的成员变量完全相同的变量。
方法的覆盖:重新定义一个与继承来的方法同名的方法,用于消除父类方法的影响。

5、在覆盖和隐藏了父类方法后还要用到父类的成员变量,通过super关键字实现对父类的访问,用法:super.父类对象 super.父类方法 super(父类构造方法)

6、继承的原则:尽量将公共属性放在父类中、保持“子类是父类中的一种”的关系、子类继承父类的前提是父类的方法对子类都是可用的

7、多态:一个名字,多种方法
多态的实现:覆盖实现多态性、重载实现多态性
(1)覆盖实现多态:继承父类的方法并重定义,子类重定义父类方法时,要求与父类中方法的原型(参数个数、类型、顺序)完全相同,调用时指明是哪个层次的类的方法。
方法重写的原则:改写后的方法不能比原始方法的访问权限更严格、改后方法不能比原始方法产生更多异常。
(2)重载实现多态:通过定义一个类中多个同名的不同方法实现,区分方法:形参的个数、顺序或类型不同,体现了静态的多态性。
(重写是对父类中继承下来的方法进行覆盖,定义同名不同参数表的方法)

8、判断对象属于哪个类:instanceof();

9、抽象类:用abstract关键字修饰,不能直接被实例化,实例化的方式是定义子类去继承然后添加自己的属性和方法。抽象类必须被继承,抽象方法必须被重写。
抽象方法只需声明不用实现。
抽象类中不一定有抽象方法,但某类中有抽象方法,必须声明为抽象类。

10、接口:用于实现类间的多重继承,一个类只能有一个父类,但可以实现多个接口。接口位于不同层次,使不想管的类可以拥有相同的行为。接口就是方法定义和常量值的集合。
接口的作用:
(1)科室不相干类有相同行为而不需要考虑类之间的层次
(2)接口可指明多个类需要实现的方法
(3)接口可以了解对象的交互界面,但不需要了解对象所在的类
接口中的属性都是没有方法体的抽象方法,接口仅仅定义某功能的协议或规范,并未真正实现功能。功能的实现需要在实现这个接口的类中完成。
接口的实现:接口功能的继承。
接口与抽象类的区别:
(1)接口不实现任何方法,抽象类可以
(2)类只能有一个父类,但能继承实现多个接口
(3)接口不具备类和层次的概念,没联系的类可以实现相同的接口
如果要使用接口,就要编写实现接口的类,若某类实现了一个接口,该类需要提供接口中定义的所有方法的实现。
实现接口时的注意点:
(1)implement表示该类实现了某些接口
(2)类在实现接口的抽象方法时,不惜用public修饰符
(3)除抽象类外,要实现接口中的所有方法
(4)实现接口的是抽象类,则可不是先接口中的所有方法,但他们发非抽象子类必须全部实现,即非抽象类中不能存在抽象方法。
定义一个新的接口=定义原来一个新的引用数据类型,只要其他类型名能使用,接口就也能。

11、final数据类型:定义类的成员时就要赋值,局部变量可不赋初始值。初始值一旦给定,不可更改。
final:断子绝孙!(作为数据类型不能更改,作为类的成员方法不能被其他子类重写,作为final类不能被继承)

12、有static:类成员(与类绑定,所有对象共享,一改全改)
无static:实例成员,不同对象调用互不干扰(处理函数是一套但对象拥有不同的数据)

13、带static的类方法只能操作类变量,不能直接访问实例变量,必须先创建该类的对象,通过对象来访问实例变量(不带static的成员方法可以直接访问)
类成员可以通过类名访问,不必创建类的对象

14、equals()比较两个对象的是否是同一个(内存地址是否相同)与“==”相同作用。在比较字符串时作用不同。
getclass()返回某对象运行时在哪个类,是final方法,不能被重载。
toString()返回对象的字符串表示,用来显示一个对象,常用于显示当前线程,可重载显示当前对象的信息并进行调试。
finalize()垃圾收集前清除对象
notify() wait()等用于线程同步

第七章 p164

1、String和StringBuffer存储和操作字符串,字符串作为对象来处理,分为常量和变量
用str+或者str.contat();进行连接
大小写转换:String toLowerCase();String toUpprtCase();
获取指定位置字符 CharAt(int index);
获取指定子串substring(int begin_index,int end_index);
字符串比较:equals();区分大小写,不能使用==,即使一样也返回false,因为比较的是对象,equal()比较的是内容。
字典序比较:compareTo()
查找一个串在另一个串中的位置:indexOf();
字符串转化为字符数组:字符串对象.toCharArray();或者.getChars();方法
字符串中某字符的替换.replace();子串替换.replaceAll();

第八章 p185

1、java语言支持多线程,系统每次给Java程序一个CPU时间,Java虚拟处理机在多个线程之间轮流切换。
2、两种途径实现多线程的创建:
(1)直接继承Thread类并重写其中的run()方法(2)使用Runnable接口

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值