学习总结
1.static关键字:
(1)使用static声明属性:在程序中使用static声明属性的话,则此属性称为全局属性(有时也称为静态属性)。
(2)使用static声明方法:static既可以在声明属性的时候使用,也可以用其来声明方法,用它声明的方法有时也被称为“类方法”。
注意:非static声明的方法可以去调用static声明的属性或方法的,但是static声明的方法是不可以调用非static类型声明的属性或者方法。
2.this关键字主要有三个应用:
(1)this调用本类中的属性,也就是类中的成员变量;
(2)this调用本类中的其他方法;
(3)this调用本类中的其他构造方法,调用时要放在构造方法的首行。
3.String类对象的创建
字符串声明:String stringName;
字符串创建:stringName = new String(字符串常量);或stringName = 字符串常量;三、String类构造方法
4.main方法的使用
main()方法的声明为:public static void main(String args[])。
5.继承关系
使用extends关键字完成类的继承关系
class 父类{} // 定义父类
class 子类 extends 父类{} // 使用extends关键字实现继承
在Java中只允许单继承,不能使用多重继承,即:一个子类只能继承一个父类。但是允许进行多层继承,即:一个子类可以有一个父类,一个父类还可以有一个父类。在使用继承的时候也应注意的是:子类是不能直接访问父类中的私有成员的,但是子类可以调用父类中的非私有方法,但是不能直接调用父类中的私有成员。
6.接口
(1)Java接口中的方法默认都是public,abstract类型的(都可省略),没有方法体,不能被实例化
(2)、Java接口中只能包含public,static,final类型的成员变量和public,abstract类型的成员方法
(3)、接口中没有构造方法,不能被实例化
(4)、一个接口不能实现(implements)另一个接口,但它可以继承多个其它的接口
(5)、Java接口必须通过类来实现它的抽象方法
(6)、当类实现了某个Java接口时,它必须实现接口中的所有抽象方法,否则这个类必须声明为抽象类
(7)、不允许创建接口的实例(实例化),但允许定义接口类型的引用变量,该引用变量引用实现了这个接口的类的实例
(8)、一个类只能继承一个直接的父类,但可以实现多个接口,间接的实现了多继承.
用法:比如,有两个及上的的类拥有相同的方法,但是实现功能不一样,就可以定义一个接口,将这个方法提炼出来,在需要使用该方法的类中去实现,就免除了多个类定义系统方法的麻烦。
7.四种修饰符
(1)public
定义:public是公共的,被public所修饰的成员可以在任何类中都能被访问到。
(2)rotected
定义:protected是受保护的,受到该类所在的包所保护。
(3)friendly
定义:friendly是友好的,即在成员的前面不写任何的访问修饰符的时候,默认就是友好的。所谓友好的,是对同一package的类友好。
(4)private
定义:private是私有的,即只能在当前类中被访问到,它的作用域最小。
8.instanceof关键词
在java中可以使用instanceof关键字判断一个对象到底是那个类的实例。
对象 instanceof 类  返回boolean类型
9.●抽象类的定义格式
abstract class 抽象类名称{
属性 ;
访问权限 返回值类型 方法名称(参数){ // 普通方法
[return 返回值] ;
}
访问权限 abstract 返回值类型 方法名称(参数) ; // 抽象方法
// 在抽象方法中是没有方法体的
}
10.throws关键词
在定义一个方法的时候可以使用throws关键字声明,使用throws声明的方法表示此方法不处理异常,而交给方法的调用处进行处理 。
throws使用格式
public 返回值类型 方法名称(参数列表…) throws 异常类{}
11.多线程
在Java中要想实现多线程代码有两种手段:
一种是继承Thread类
另一种就是实现Runnable接口
hread类实现了Runnable接口,在Thread类中,有一些比较关键的属性,比如name是表示Thread的名字,可以通过Thread类的构造器中的参数来指定线程名字,priority表示线程的优先级(最大值为10,最小值为1,默认值为5),daemon表示线程是否是守护线程,target表示要执行的任务。
Thread类中常用的方法:
  以下是关系到线程运行状态的几个方法:
  1)start方法
  start()用来启动一个线程,当调用start方法后,系统才会开启一个新的线程来执行用户定义的子任务,在这个过程中,会为相应的线程分配需要的资源。
  2)run方法
  run()方法是不需要用户来调用的,当通过start方法启动一个线程之后,当线程获得了CPU执行时间,便进入run方法体去执行具体的任务。注意,继承Thread类必须重写run方法,在run方法中定义具体要执行的任务。
3)sleep方法
leep相当于让线程睡眠,交出CPU,让CPU去执行其他的任务。
  如果需要让当前正在执行的线程暂停一段时间,并进入阻塞状态,则可以通过调用Thread类的静态sleep()方法来实现。
  当当前线程调用sleep()方法进入阻塞状态后,在其睡眠时间内,该线程不会获得执行机会,即使系统中没有其他可执行线程,处于sleep()中的线程也不会执行,因此sleep()方法常用来暂停程序的执行