您的位置:首页 > 职场人生

黑马程序员----------基础之类、接口

2014-12-14 16:32 176 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

一、类的初始化顺序

  一个对象在初始化时,会用到静态代码块、代码块、构造函数完成初始化。

class StartDemo{
public static void main (String []args){
A a = new A();

System.out.println("========================");
A a2 = new A();

System.out.println("========================");
System.out.println(B.x);
}
}

class A extends B {
static int x = 1 ;
final int y = 2 ;
int z = 3 ;

A(){
System.out.println("我是构造函数. z="+z);
}
{
System.out.println("我是代码块.y="+y);
this.z = 1;
}
static{
System.out.println("我是静态代码块.x="+x);
}
}
abstract class B {
static int x = 1 ;
final int y = 2 ;
int z = 3 ;

B(){
System.out.println("我是构造函数b.z="+z);
int z = 4;
}
{
System.out.println("我是代码块b.y="+y);
this.z = 1;
}
static{
System.out.println("我是静态代码块b.x="+x);
}
}
/**输出结果
我是静态代码块b.x=1
我是静态代码块.x=1
我是代码块b.y=2
我是构造函数b.z=1
我是代码块.y=2
我是构造函数. z=1
=======================
我是代码块b.y=2
我是构造函数b.z=1
我是代码块.y=2
我是构造函数. z=1
=======================
*/

  他们的初始化顺序为父类静态代码块->子类静态代码块->父类代码块->父类构造函数->子类代码块->子类构造函数,其中静态代码块只会运行一次,后面再new新的对象是不会执行的,并且静态代码块只能调用修改类里的静态成员变量。静态初始化完成后,会对象所在类的所有类成员变量、常量进行初始化。所有类成员初始化完成之后才调用本类的构造方法创建对象。

  一个类可以有多个代码块,他们按前后顺序执行。一个类内也可以有多个构造方法,不写磨人调用父类的构造方法,一个构造方法内,还可以调用其他的构造方法,但是必须写在该构造方法的第一行。

  

二、抽象类

  抽象类是指不能直接调用方法的类。抽象类相当于不同对象的共性抽取。如果一个类中有abstract方法,则这个类肯定是抽象类。。抽象类的子类如果没有实现父类的抽象方法,则也是抽象类。

  抽象类的几个注意的地方

   1.抽象类里的抽象方法不能前缀为private和final。

   2.抽象类可以继承实体类,但是该实体类不该有final构造方法。

   

   

三、接口

  接口可以看成是事物的共性方法的抽取,接口用interface修饰,使用implements来实现。

  接口的几个注意的地方

   1.接口内所有的变量都是public static final静态常量,且需要赋值。一般用全字母大写来表示。

   2.jdk8.0之前接口内的方法都是公开抽象方法,java8.0后接口内可以写default方法。

   3.接口和接口之间可以多继承。

   4.接口不可以直接创建一个对象。

   5.一个类可以实现多个接口。

  

   

四、内部类

  内部类是定义在类里的类,内部类仍然是一个独立的类,在编译之后内部类会被编译成独立的.class文件,但是前面冠以外部类的类名和$符号。内部类不能用普通的方式访问。内部类是外部类的一个成员,因此内部类可以自由地访问外部类的成员变量,无论是否是private的。内部类声明成静态的,就不能随便的访问外部类的成员变量,仍然是只能访问外部类的静态成员变量。

  

  内部类可以分成三种:

   1.成员内部类 

   2.局部内部类

   3.匿名内部类  匿名内部类不该有构造方法,不应该定义任何静态的方法变量。匿名内部类一般只会写1-2个方法。匿名内部类都跟在new之后,用其隐含实现一个接口或实现一个类。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐