一、包的概念
用于存放类文件,包含源文件还有.class文件。通过包的分类管理让功能相同的类放在一个文件夹里。作用:为类文件进行分类管理。
二、包的声明格式
通常使用公司网址反写。包名全部采用小写字母。多层包用.连接。包的声明必须在有效代码的第一行。
导包:
import java.util.*其中.*的意思是将util包里的内容全部导进来。导包必须引入到类真正的文件夹中。比如
Lock类,在util包中,但是Lock类的导包是这样的:import java.util.concurrent.locks.*因为,Lock类不在util文件夹下的Locks文件夹内。
此外:类的全名要带上包名
注意:
1、java中lang包不需要导入。
jdk,jre,jvm的包含关系
三、eclipse中注释文档的写法
1、类前的注释文档
声明作者和版本。
2、方法前的注释
注意:这些有什么用呢?用来生成javadoc文档的。注意书写顺序,首先看类文档,先写用途,再写作者,再写版本。
方法文档:先写用途,再写传递的参数,再写返回值。
3、eclipse中引入第三方架包
在工程里面建立lib文件夹,将架包导入lib里面,部署架包到引用类库中。就算导入了。
jar包里面大多是.class文件。
四、修饰符的细节
解释一下不能同时使用的原因。
抽象是用来继承的,私有了无法继承,就是矛盾体。
抽象方法无方法体,static是可以直接调用的,可以类名直接调用,抽象类根本无法实例化,怎么调用?矛盾、
抽象是用来重写的,final就是用来阻止重写的。
五、引用类型参数(类作为方法参数)
引用类型传参构造的方法的调用,有两种方式。
1、建立对象,传递引用参数。
2、传递匿名对象。
六、方法返回值是Person类型。
有两种方式,第一种是创建对象的方式
第二种是匿名对象方式
七、抽象类作为方法参数传递
抽象类作为参数,体现了多态的扩展性,其实就是一种多态体制。Animal a=new cat();然后a调用了子类的重写方法。非常好。
八、抽象类作为返回值
第一个图,方法要求时返回抽象类型Animal 但是Animal是一个抽象类,没有对象,最后return 子类。第二个图,创建子类对象,但是方法返回的是父类对象,不能再用子类接收,否则就报错,因为范围变小了,必须用比Animal大的对象接收。最后使用了多态的方法a.eat();
其实第一个返回就是多态。Animal a= new Cat();其中return new Cat();也可以返回return new Dog();这里体现了多态性。
九、接口作为方法参数
接口作为方法参数和抽象类很相似。
同样有两种传参方式:1、创建传递普通对象的方式。2、使用匿名对象的方式,匿名对象只能用一次。
相当于 Smoking s=new Student();一种多态的形式。接着是多态调用实现类。
其实还有一种方法,这个方法抽象类是不能用。
使用多态的方式传参。之所以抽象类无法这样用,是因为抽象类无法创建对象。
十、接口作为返回值类型。
接口作为返回值,和抽象类作为返回值很相似。直接用接口来接收。
十一、抽象类作为静态方法返回值的情况。
静态方法可以通过类名直接获取。因此就不需要再创建子类对象,并赋值给父类变量了。这是静态抽象类作为返回值的独特方法。
十二、总结:
成员变量若是非私有类型,那就是静态最终的固定好的。