组成
1:成员变量

  • 1)类的属性
  • 2)存储在堆中
  • 3)生命周期与对象同步
  • 4)有默认初始化值

2:匿名对象 new user();

3:关键字
private:

  • 修饰:成员变量和成员方法
  • 权限: 本类

default:

  • 权限:本类+同一个包下的类

prodect:

  • 权限:本类+同一个包下的类+不同包下的子类

public:

  • 权限:本类+同一个包下的类+不同包下的子类+不同包下的无关类

final:
特点:不够改变的

  • 1)它修饰的类,不能被继承。
  • 2)它修饰的方法,不能被重写。
  • 3)它修饰的变量,是一个常量。
  • 4)在局部变量的使用
    a:基本类型 值不能发生改变
    b:引用类型 地址值不能发生改变,但是对象的内容是可以改变的
  • 5)只能初始化化一次,要么在定义成员变量的时候给值,要么在使用前给值,但是都在构造初始化完成前完成赋值;
  • 没有初始化报错;
    这里写图片描述
    this:
    特点:

  • 1)本类对象的应用

  • 2)this.成员变量,this.成员方法,this(参数列表) 构造方法

super:
特点:

  • 1)父类存储空间标识
  • 2)super.成员变量,super.成员方法,super(参数列表) 构造方法

static:
修饰:成员变量,成员方法,类
特点:

  • 1)随着类的加载而加载
  • 2)优先于对象对象存在
  • 3)被static修饰的成员变量,被所有对象共享
  • 4)被所有对象共享的原因:存储在方法区的静态区,静态区被所有成员变量共享
  • 5)在静态方法中没有this对象
  • 6)只能静态访问静态

代表当前类的引用对象,哪个对象调用方法,该方法内部的this就代表那个对象

4:构造方法
作用:对象的数据进行初始化
特点:

  • 1)方法名与类名相同
  • 2)修饰符 +classs +类名(参数列表){

     没有返回值;
    

    }

  • 3):我们没写构造方法,系统将提供一个默认的无参构造方法,
    如果我们给出了构造方法,系统将不再提供默认构造方法.

public class Test {
    public Test() {
        super();
    }

5:代码块:

  • 局部代码块:在方法中{}包起来的代码.

  • 构造代码块
    在类成员变量位置
    每个构造方法执行前,首先执行构造代码块。

  • 静态代码块
    在类成员变量位置
    对类的数据进行初始化,仅仅只执行一次。随着类的加载而加载
    (3)静态代码块,构造代码块,构造方法的顺序问题?
    静态代码块 > 构造代码块 > 构造方法


public class Test {
    //构造方法
    public Test() {
        super();
        int a = 3;
        System.out.println(a);
    }

    // 构造代码块
    {
        int a = 2;// 等等很多代码
        System.out.println(a);
    }
    // 静态代码块
    static{
        int a = 1;// 等等很多代码
        System.out.println(a);
    }

    public static void main(String[] args) {
        // 局部代码块
        {
            int a = 0;// 等等很多代码
            System.out.println(a);
            Test test=new Test();
        }

        User user = new User();
        user.setName("李四");
    }
}
输出:
1
0
2
3

6:创建一个对象都做了程序都做了什么;执行顺序如下

    public static void main(String[] args) {
        User user = new User();
        user.setName("李四");
    }
  • 1)在栈中申请内存user
  • 2)在堆中申请内存new User();
  • 3):为类的成员变量默认初始化:id=0;Name=null;
  • 4):为类的成员变量显示初始化:name=李四;
  • 5):通过类构成器初始化;
  • 6):初始化后将地址值给对象引用user


7:修饰符
分类:
           权限修饰符:private,默认,protected,public
            状态修饰符:static,final
            抽象修饰符:abstract

常见的类及其组成的修饰

           类:默认,public,final,abstract
           成员变量: private,默认,protected,public,static,final
           构造方法: private,默认,protected,public
           成员方法: private,默认,protected,public,static,final,abstract

posted on 2017-04-02 13:31  2637282556  阅读(171)  评论(0编辑  收藏  举报