Java-2017.5.8

来源:互联网 发布:天刀数据加载失败:data 编辑:程序博客网 时间:2024/06/11 07:11

接口:只包含抽象方法,类使用implements实现一个或多个接口(逗号隔开)里的所有抽象方法。

接口中可以定义成员变量。但都是public,final,static的,需要赋初值(情况少,一般定义方法)。

 

多态:父类型的引用可以指向子类型的对象,或者接口类型的引用可以指向实现该接口的类的实例。


static:修饰属性,方法,类

1.static修饰属性,类中生成的所有对象共用一个static属性,也就是说,改变一个对象中的该属性会改变所有使用该属性的值。可以通过类名.成员变量名来使用它。

2.static修饰方法,可以使用类名.方法名来访问。(也就是说,不用new一个类的实例再用实例来访问方法)

子类不能重写父类的静态方法,只能隐藏或继承,调用时使用的版本取决于是从哪个类的实例来调用的。

静态代码块完成初始化工作,总是先执行(加载时就执行)所有的静态代码块,且只执行一次,后再执行构造方法(生成对象时),每生成对象时就执行一次。

不能在静态方法里访问非静态成员变量。(因为静态方法可以用类的名字来直接访问,而不确定改变的非静态成员变量是哪个对象里的变量。)

(静态只能访问静态,非静态都可以访问。)

不能在静态方法中使用this关键字。(this表示当前使用对象)


final:修饰属性,方法,类

final修饰类时是终态类,不能有子类。

final修饰方法时是终态方法,不能被重写(override)。

final修饰属性时,不能被改写。

final修饰引用类型时,该引用类型不能指向其他对象,但引用指向的对象的内容(类里的方法中的值)是可以变的。

final类型成员变量赋初值:1.声明时赋初值;2.声明时不赋,但再类的所有构造方法中都赋初值。


private关键字只能在类内部访问。也就是说,在其他类中不能new它。


singleton单例(SingletonTest)


包名:小写,唯一,公司域名的反转。使用包时,com.域名.类名。代码开头写package com.域名。

编译时可用javac -d . 源文件.java 自动生成包对应的目录结构。用其他包的类时在开头加import com.域名.类名。当需要整个文件夹内的类时可用*代替类名


首先定义包(package),可选

再import进行导入,可选(使用同一目录下的类不用导入)

再class或interface定义



0 0
原创粉丝点击