类与对象

Java作为一种面向对象的语言,即OOP(Object Oriented Programming)语言。其所具有的三大特征:

  • 继承
  • 封装
  • 多态

这三点在类与对象这一部分重点体现。如果我们把类比喻成模板,那对象就相当于实体。

一.对象的初始化

  • 方法1

提供的一系列的get和set方法
例如:

class PersonOne {
    private String name;//实例变量  属性   数据成员
    private int age;
    public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public int getAge() {
    return age;
}

public void setAge(int age) {
    this.age = age;
}
  • 方法2

调用合适的构造函数,构造函数不止一个。例如:

class PersonTow {
    private String name;//实例变量  属性   数据成员
    private int age;
    private String sex;

  public PersonTow() {//不带有参数的构造函数
        this("caocao",18,"man");//必须放在第一行
        System.out.println("Person.init");
   }

    public PersonTow(String name,int age,String sex) {//不带有参数的构造函数
        System.out.println("Person(String,int,String).init");
        this.age = age;
        this.name = name;
        this.sex = sex;
    }
  • 方法3

静态代码块,实例代码的初始化。例如:

class Person {
    private String name = "baozi";//实例变量  属性   数据成员
    private int age;
    private String sex;
    private static int data;
    private static int data2 = 99;
    static {//静态代码块初始化 ===》只初始化一次
        //this.sex = "man";
        System.out.println("static{}");
        data = 10;
    }

    {//实例代码块初始化
        System.out.println("instance{} init");
        this.sex = "man";
        this.age = 10;
        this.name = "gaobo";
    }

在一个程序中,对象的初始化顺序:
静态代码块初始化 – > 实例代码块初始化 --> 构造函数初始化

内部类

1、静态内部类
2、实例内部类
3、本地内部类 --> 方法内部的类
4、匿名内部类
重点:
1、静态内部类===》外部类的静态数据成员 static所修饰的类
如何得到静态内部类对象呢?
OuterClass.InnerClass in1 = new OuterClass.InnerClass();
在静态内部类当中,可以访问外部类的静态数据成员。

2、实例内部类===》外部类的实例数据成员
 问题:如何得到实例内部类对象
  OuterClass outerClass = new OuterClass();
  OuterClass.InnerClass in1 = outerClass.new InnerClass();

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章