JAVA SE基础笔记 (2)

当我们需要用到一个接口时,只想实现其中的一个接口。可以先用抽象类用空方法来实现这个接口,然后编写这个抽象类的子类,只重写那个方法,这叫做适配器。

static关键字

static:可以修饰成员变量和成员方法。
特点:

随着类的加载而加载(main方法)

优先于对象存在

被类的所有对象共享

可以通过类名调用,也可以通过方法名来调用

注意事项:

在静态方法中是没有this关键字的(this是创建对象后才会有)

静态方法中不能访问成员变量和成员方法;非静态方法可以访问静态或非静态的变量和方法

final关键字

final关键字:由于继承中的方法有一个现象:方法的重写,所以父类的功能就会被子类重写的方法覆盖掉,有时候我们不想让子类覆盖掉此功能,就可以用final。

特点:

修饰类:被final修饰的类称为最终类,它不能被继承。绝育。

修饰方法:被final修改的方法不能被重写。

修饰变量:被final修饰的变量不能被重新赋值。变成自定义常量了。

注意:

final可以修饰成员变量(权限修饰符修饰成员变量没有意义,方法内部本来就不可以见)。被修饰的基本数据类型就是值不可变,引用数据类型变量则是地址值不能变(重新new,进行创建同名的引用变量),但值可以重新赋值。

修饰的变量需要在构造方法之前进行赋值

构造方法

作用:给对象的数据进行初始化
格式:

方法名和类名相同

没有返回值类型,连void都没有,自然也不需要return

导包

导包:不同包下的类之间的访问,每次使用不同包下的类的时候,都需要加包的全路径,所有java提供了导包的功能。

导包的格式:import 包的名称;

访问修饰符

访问修饰符包括:

private(被它修饰的成员变量和成员方法只能在本类中访问)

默认

protected (主要便于不同包下的子类来访问本类)

public

常用类 API

api:应用程序编程接口
理解举例:编写一个机器人程序去控制机器人踢球,程序需要向机器人发出左转,右转,射门等动作。没有编程经验的人很难想象会怎么编写程序,对于有经验的人则知道机器人公司一定会提供一些用于控制机器人的java类,这些类定义了机器人的动作,其实这些java类就是机器人厂商提供给应用编程人员的接口。把它称为机器人接口。

Object

Object:是所有类的超类。

方法:

public int hashCode():返回该对象的哈希码值。支持此方法是为了提高哈希表(例如 java.util.Hashtable 提供的哈希表)的性能。(哈希值是根据哈希算法计算出来的一个值,这个值和地址有关,但不是实际地址,可以理解为地址)

public final Class<?> getClass():返回此 Object 的运行时类。返回的 Class 对象是由所表示类的 static synchronized 方法锁定的对象。

public String toString():返回该对象的字符串表示。通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法(可以在eclipse中自动生成)。Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:getClass().getName() + \'@\' + Integer.toHexString(hashCode())

public boolean equals(Object obj):指示其他某个对象是否与此对象“相等”。 这个是比较的地址,一般需要重写来比较对象的成员变量。

protected Object clone() throws CloneNotSupportedException:创建一个对象的副本(克隆),不过克隆的类需要实现一个Cloneable接口。

protected void finalize() throws Throwable:当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法,但是什么时候回收并不知道,不是调用就立马回收的,需要等它有时间。子类重写 finalize 方法,以配置系统资源或执行其他清除。

Scanner

Scanner:用于接收键盘数据。(JDK5版本后的)

方法:

public Scanner(InputStream source):这是一个构造方法。构造一个新的 Scanner,它生成的值是从指定的输入流扫描的。取自该流的字节通过底层平台的默认字符集转换成字符。我们的命令Scanner sca = new Scanner(System.in);就是用的这个方法。

public boolean hasNextXxx():判断下一个是否为某种类型的元素。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwzfzs.html