jdk jvm jre 的区别
jdk :Java集成开发工具
jvm:Java虚拟机
jre:Java运行环境
1. java的三个平台。
J2se :java标准平台 j2ee:Java企业平台 j2me:Java小型平台
2. java的标识符(1.字母、下划线、美圆符号打头,2.字母、下划线、美圆符号或者数字定义后面的内容3.不能是java的关键字)
3. JDK中主要的包介绍
java.lang----包含一些Java语言的核心类,如String、Math、Integer、System和Thread,提供常用功能。
java.awt----包含了构成抽象窗口工具集(abstract window toolkits)的多个类,这些类被用来构建和管理应用程序的图形用户界面
java.net----包含执行与网络相关的操作的类。
java.io----包含能提供多种输入/输出功能的类。
java.util----包含一些实用工具类,如定义系统特性、使用与日期日历相关的函数。
5.类之间的关系
usea 、has a 、 is a
usea :依赖关系 一个类里面的方法操作了另一个类的对象,那么这个类就依赖于另一个类
public class liu{
public void toGo(){
A a =new A();
a.run();
}
}
Hasa :聚合关系 一个类里面包含了另一个类的对象
public calss liu{
ArrayList list = null;
}
Isa 继承关系
A extends B{}
6 .抽象类
抽象类不能被示例化,用abstract关键字来修饰一个类时,这个类叫做抽象类,用abstract来修饰的方法叫做抽象方法
任何包含一个或多个抽象方法的类都必须声明为抽象类
抽象类中可以有普通方法
含有抽象方法的类必须声明为抽象类,抽象类中的抽象方法必须被重写
abstract class A{
abstract voidm1();
public voidm2(){
System.out.println(“A类中定义的m2方法”); }}
Class B extends A{
voidm1(){
System.out.println(“B类中定义的m1方法”);
}
}
7.具体说明:Static,final,abstract
Static 属性:类或类的实例来调用,最好用类引用
方法:只能调用静态变量或静态方法,不能使用this,super
代码块:程序一加载静态代码就运行,而且指与运行一次
final 属性:常量,final int I =12;
方法:该方法不能被子类重写
类:该类不能被继承,该类中所有方法和属性都是final
abstract 方法:该方法有方法声明,没有方法体
构造方法和static 方法不能被抽象
该方法的类称为抽象类,类名前必须加abstract
类:抽象类不能被实例化,抽象类可以具有指向子类对象的引用,抽象类可以有普通方法,只能子类调用
父类的抽象方法必须在子类中实现
8.类的继承有什么样的缺陷
只能单继承,不能够多继承,接口能实现多继承
9. 接口
接口中所有的方法都是public abstract
在接口中声明方法实时:不能使用native static final syncharonized private protected 等修饰符。
接口中可以有数据成员,这些成员默认是 public staic final
一个接口可以继承另一个接口,Java中不允许类多继承,但允许接口多继承。
10. Java内部类
一、成员内部类:
类修饰符: public protected default private ,abstract final
方法和属性; publicprotected default private ,abstract (不包含属性) fainl
内部内访问外部类:ii, this.i, B.i(static),A.this.i , A.i(static) 没有是否是static的限制。A.test()(static), A.this.test()。
外部类访问内部类:B b = new B(); b.i , bi.test();
在静态方法中访问内部类:A a =new A(); Bb =a.new B();
二、局部内部类: 类修饰符:defalut ,abstract , final
方法和属性: public protected default private 、abstract(不包含属性)、final
2—1:方法是static :只能访问static或者是final的成员变量,static 方法
2—2:方法不是static :可以访问任意成员变量,任意的方法
2—3:如果访问局部变量:这个变量一定要是final意思就是说一定要是常量,只能在方法内部被调用
三、静态内部来:
在成员内部类基础上加了static 的关键字
类修饰符:publicprotected default private (abstract | final)
方法和属性:publicprotected default private ,abstract(不包含属性)final
内部类访问外部类:他只能访问外部的 static 方法和 static 变量
外部类访问内部类:和成员内部类是一样
在另外一类里面:调用静态内部类A.B b =new A.B();
四、匿名内部类:
没有类名,一般实现接口,继承抽象类或者继承一般类
方法和属性: public protected default private ,abstract(不包含属性) final
但是一般不在接口的基础上添加方法,也不在类的基础上添加方法,最多只重写类里面的方法。
只能在外部类中被条用