1.—Java SE Java EE Java ME指什么?
Java SE=Java Standard Edition
Java EE=Java Enterprise Edition
Java ME=Java Mobile Edition
SE主要用于桌面程序,控制台开发(JFC)
EE企业级开发(JSP,EJB)
ME嵌入式开发(手机,小家电)
2。java优点?
Java语言在安全性、平台无关性、支持多线程、内存
管理等许多方面具有卓越的优点。
3.基本数据类型的种类和长度
一个字节等于8位
4。强制转换
在Java中由于继承和向上转型,子类可以非常自然地转换成父类,但是父类转换成子类则需要强制转换.因为子类拥有比父类更多的属性、更强的功能,所以父类转换为子类需要强制.那么,是不是只要是父类转换为子类就会成功呢?其实不然,他们之间的强制类型转换是
有条件的。
当我们用一个类型的构造器构造出一个对象时,这个对象的类型就已经确定的,也就说它的本质是不会再发生变化了。在Java中我们可以通过继承、向上转型的关系使用父类类型来引用它,这个时候我们是使用功能较弱的类型引用功能较强的对象,这是可行的。但是将功能较弱的类型强制转功能较强的对象时,就不一定可以行了。
基本数据类型之间的强制类型转换:
java规范强烈的不建议布尔型和整型或者浮点型的进行转化,很容易出错
5。关于static
static方法属于整个类,它不能操纵和处理属于某个对象的成 员变量,只能处理属于整个类的成员变量,即static方法只能 处理本类中的static变量或调用static方法。
6.调用权限
public是公共方法,在你的这个项目里面你所有的类都能访问这个方法,不加的话就是默认
的default 这个是只能在你当前包里才能调用这个方法
1。 private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的属性以及方法只能被该类的对象 访问,其子类不能访问,更不能允许跨包访问。
2. default:即不加任何访问修饰符,通常称为“默认访问权限“或者“包访问权限”。该模式下,只允许在同一个包中进行访问。
3。 protected: 介于public 和 private 之间的一种访问修饰符,一般称之为“保护访问权限”.被其修饰的属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问.
4。 public: Java语言中访问限制最宽的修饰符,一般称之为“公共的"。被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包访问
7。数据初始化
不管程序有没有显示的初始化,Java  虚拟机都会先自动给它初始化为默认值。
对于数组:
1、整数类型(byte、short、int、long)的基本类型变量的默认值为0.
2、单精度浮点型(float)的基本类型变量的默认值为0。0f。
3、双精度浮点型(double)的基本类型变量的默认值为0.0d.
4、字符型(char)的基本类型变量的默认为 “/u0000”.
5、布尔性的基本类型变量的默认值为 false。
6、引用类型的变量是默认值为 null。
7、数组引用类型的变量的默认值为 null。当数组变量的实例后,如果没有没有显示的为每个元素赋值,Java 就会把该数组的所有元素初始化为其相应类型的默认值.
注意:对于单个数据,如果不进行初始化不能对其进行操作,编译时报错
8。数组遍历的三种方法
    1。for循环
    2.for-each语句遍历,for(datatype x: arrayname)
3。迭代器Iterator遍历List list = new ArrayList();
 Iterator iterator = list.iterator();
  while (iterator.hasNext()) {
  int i = Integer.parseInt(iterator。next().toString());
  System。out。println(i);
  }
9.方法重载和重写
    方法重载:所谓方法重载是指在一个类中,多个方法的方法名相同,但是参数列表不同。参数列表不同指的是参数个数、参数类型或者参数的顺序不同。
1.在使用重载时只能通过不同的参数列表,必须具有不同的参数列表。例如,不同的参类型,不同的参数个数,不同的参数顺序。
2。不能通过访问权限、返回类型、抛出的异常进行重载。
3。方法的异常类型和数目不会对重载造成影响。.。 
4.可以有不同的返回类型,只要参数列表不同就可以了。
5.可以有不同的访问修饰符。
方法重写:当子类需要修改父类的一些方法进行扩展,增大功能,程序设计者常常把这样的一种操作方法称为重写,也叫称为覆写或覆盖。所谓方法的重写是指子类中的方法与父类中继承的方法有完全相同的返回值类型、方法名、参数个数以及参数类型。注意,重写方法时,可以增大父类中的方法权限,但是不能缩小父类的方法权限。当父类方法为private子类不能将其重写。
super关键字可以从子类访问父类中的内容,如果要访问被重写过的方法,使用“super。方法名(参数列表)”的形式调用。
10.异常处理
(1)Java把异常当作对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。在Java API中已经定义了许多异常类,这些异常类分为两大类,错误Error和异常Exception。Error和Exception的区别:Error通常是灾难性的致命的错误,是程序无法控制
和处理的,当出现这些异常时,Java虚拟机(JVM)一般会选择终止线程;Exception通常情况下是可以被程序处理的,并且在程序中应该尽可能的去处理这些异常.
    (2)层次结构
(3)处理方法
Try-catch方法 
try 块:用于捕获异常。其后可接零个或多个catch块,如果没有catch块,则必须跟一个finally块。
catch 块:用于处理try捕获到的异常.
finally 块:无论是否捕获或处理异常,finally块里的语句都会被执行.当在try块或catch块中遇到return语句时,finally语句块将在方法返回之前被执行.
编写多重catch语句块注意顺序问题:先小后大,即先子类后父类。
throws方法声明抛出异常,只是抛出异常,并没有去处理它
(4)自定义异常
创建自定义异常类。
在方法中通过throw关键字抛出异常对象。
如果在当前抛出异常的方法中处理异常,可以使用try—catch语句捕获并处理;否则在方法的声明处通过throws关键字指明要抛出给方法调用者的异常,继续进行下一步操作。
在出现异常方法的调用者中捕获并处理异常.
class MyException extends Exception {
    private int detail;
    MyException(int a){
        detail = a;
    }
    public String toString(){
        return "MyException [”+ detail + ”]";
    }
}
public class TestMyException{
    static void compute(int a) throws MyException{
        System。out.println("Called compute(” + a + ")”);
        if(a > 10){
            throw new MyException(a);
        }
        System.out.println(”Normal exit!");
    }
java重写和重载的区别
    public static void main(String [] args){
        try{
            compute(1);
            compute(20);
        }catch(MyException me){
            System.out。println(”Caught ” + me);
        }
    }
11.类的继承
继承的限制
1.java只能显示单继承,即一个类只能有一个父类
2。允许多重继承(多重继承指的是一个类可以同时从多于一个的父类那里继承行为和特征,Java为了保证数据安全,它只允许单继承。子类只能继承一个父类,也就是说只能存在单一继承,但是却可以实现多个接口,间接实现了多重集成)
3。继承只能继承非私有的属性和方法
4。构造方法不能被继承
构造方法
如果子类需要继承父类的含参构造函数则需要使用super命令(如果父类包含多个含参构造函数则依据参数使用super命令) 
如果父类建立了构造函数且都含有参数,则子类必须使用super命令
12。Object类
Object类存储在java。lang包中,是所有java类(Object类除外)的终极父类。当然,数组也继承了Object类。然而,接口是不继承Object类的。一般来说,我们所建立的类都会有如下方
法:
protected Object clone()
boolean equals(Object obj)
protected void finalize()
Class< 〉 getClass()
int hashCode()
void notify()
void notifyAll()
String toString()
void wait()
void wait(long timeout)
void wait(long timeout, int nanos)
这是因为所有其他java类都继承了Object类。
13。抽象类
用关键字abstract修饰的类就是抽象类,它是所有子类的公共属性(数据)和行为方法的集合,抽象类没有具体对象,是处于组织概念的层次关系而存在的类。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。