JavaSE学习之--类和对象(三)

简介: JavaSE学习之--类和对象(三)

JavaSE学习之--类和对象(二)+https://developer.aliyun.com/article/1413484

3. static修饰方法

注意:

1.静态方法内部不能出现this引用,因为this引用必须指明对象,静态方法不属于对象,静态方法是类的方法!

2.不能在静态方法内部访问任何非静态成员变量!

3.在静态方法内部不能直接引用非静态方法(因为非静态方法内部都有this的引用)但可以在非静态方法内部创建一个对象,通过对象来访问非静态方法!

4.通过对象在静态方法内部调用非静态方法

5.静态成员变量的初始化

1.就地赋值(直接再初始化时就赋值)

2.通过代码块赋值-->先介绍代码块

代码块:

1.定义:

被{}围起来的代码就叫做代码块!

分类:

普通代码块

构造块

静态块

同步代码块(后续讲解多线程部分再谈)

2.普通代码块:

定义在方法内部的代码

public static void main(String[] args) {
        // 普通代码块
        {
            int x= 10;
            System.out.println(x);// 输出10
        }
        System.out.println(x);// err x只能在上面的代码块内部使用

3.实例代码块:

用来初始化实例变量的代码块

// 实例代码快-->用来初始化实例变量(不加修饰符)
    {
        this.age = 12;
        this.sex = "女";
        this.name = "绿子";
    }
        Stu stu1 = new Stu();
        System.out.println(stu1.name);// 输出绿子

4.静态块(添加修饰符static):

用来初始化静态变量!!!

public static String classroom;
    static {
        classroom = "222202";
        System.out.println("hello world");
    }

注意:

1.静态代码块多少个对象,代码块只会被执行一次(创建对象的时候执行唯一一次)

2.代码块的优先级高于构造方法

3.如果一个类中包含多个静态代码块,在编译代码时,编译器会按照定义的先后次序依次执行(合并)

总结:实例代码块和静态代码块的区别

1.实例代码块只能在对象创建的时候才会被调用,而静态代码块不需要创建对象就可以直接通过类来访问

2.静态代码块只能被执行一次,而实例代码块可以被执行多次(实例化一个对象就执行一次)

对象的打印:

1.直接传递对象名会打印指向对象的地址

2.如何通过一个函数来打印所有成员变量呢?通过tosTring()

3.快速调出toString方法

总结:

1.封装是面向对象(Object Oriented program)的三大特征(封装,继承,多态),通过封装能更好的管理成员变量

2.类是面向对象重要的部分,通过将研究的事物分离出来各种类,通过类之间的交互来完成工作

3.类是对现实事物的抽象化处理,通过new关键字进行对象的实例化

4.构造方法是一种特殊的初始化成员变量的方法;掌握命名规则和如何快速创建

5.理解静态成员变量和实例变量的区别

6.代码块也是用来初始化成员变量的,其优先级很高

7.通过改写toString方法以字符串的形式打印成员变量

目录
相关文章
|
Java 编译器
【JavaSE】基础笔记 - 类和对象(下)
【JavaSE】基础笔记 - 类和对象(下)
70 0
|
存储 Java
【JavaSE】基础笔记 - 类和对象(上)
【JavaSE】基础笔记 - 类和对象(上)
74 0
|
存储 Java 编译器
【javaSE】 类和对象详解(下)
【javaSE】 类和对象详解(下)
|
5月前
|
安全 Java C语言
JavaSE基础:面向对象
JavaSE基础:面向对象
|
7月前
|
存储 SQL Java
【JavaSE语法】类和对象(二)
本文主要介绍了面向对象的三大特点之一封装,并引入了包的概念;还介绍了static修饰类的成员(变量+方法),最突出的特点就是static修饰的属于类,而不属于某个对象;最后介绍了四种代码块
53 7
|
7月前
|
Java 编译器
JavaSE基础 --- 类与对象
JavaSE基础 --- 类与对象
67 0
|
7月前
|
存储 Java 编译器
JavaSE学习之--类和对象(二)
JavaSE学习之--类和对象(二)
47 0
|
7月前
|
存储 Java 编译器
JavaSE学习之--类和对象(一)
JavaSE学习之--类和对象(一)
55 0
|
存储 Java 编译器
【JavaSE语法】类和对象(一)
【JavaSE语法】类和对象(一)
48 0
|
存储 安全 Java
类和对象【JavaSE】
类和对象【JavaSE】
80 0