对之前的所有的代码进行总结

Posted xlwu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对之前的所有的代码进行总结相关的知识,希望对你有一定的参考价值。

总结所有的变量怎么访问,总结所有的方法怎么访问!!!! 总结一下到目前为止我们在一个类中都接触过什么了。

案例:

/*
    类体{
        实例变量;
        实例方法;
        
        静态变量;
        静态方法;
        
        构造方法;
        
        静态代码块;
        实例语句块;
        
        方法(){
            // 局部变量
            int i = 100;
        }
    }
*/
public class Review{ //// 类加载机制中,是这样的:在程序执行之前,凡是需要加载的类全部加载到JVM当中。
    // 先完成加载才会执行main方法
    static{    
        System.out.println("Review类加载时执行!");
    }
    
    // 静态变量 程序入口
    public static void main(String[] args){
        
        // 局部变量
        int i = 100;
        
        // 完成一个对象的一连串动作。
        // 一个学生在教室先学习,学习完成之后去餐厅吃饭。
        Student s1 = new Student();
        
        // 错误: 此处不允许使用 ‘空‘ 类型
    // System.out.println(s1.study());
        s1.study();
        
        Student s2 = new Student();
    }
}

// 学生类
class Student{
    
    static{    
        System.out.println("Studen类加载时执行!");
    }
    // 实例变量
    // 学号
    private int no;
    // 姓名
    private String name;
    
    // 学生会有静态变量吗?
    // 类级别的属性
    static String job = "学习";
    
    // 实例语句块
    {
        System.out.println("实例语句块,构造方法执行一次,这里就执行一次。");
    }
    
    // 封装
    // 实例方法 getter and setter
    public int getNo(){
        return no;
    }
    
    public void setNo(int no){
        this.no = no;
    }
    
    public String getName(){
        return name;
    }
    
    public void setName(String name){
        this.name = name;
    }
    
    // 构造方法
    public Student(){
        // 假设调用无参数的构造方法,默认创建的学生学号是100,名字是zhangsan
        this(100,"zhagnsan"); // this() 在这里也使用了。
    }
    
    public Student(int no,String name){
        this.no = no;    // 这里使用了this
        this.name = name;
    }
    
    // 实例方法
    public void study(){
        
        // 私有的是可以在本类中访问的。在其他类中不行,必须使用getter setter方法
        
        // System.out.println(this.name + "正在努力的学习!");
        // System.out.println(name + "正在努力的学习!");
        
        // 在实例方法中调用本类其他的实例方法。
        // System.out.println(this.getName() + "正在努力的学习!");
        System.out.println(getName() + "正在努力的学习!");
        
        // 方法执行到此处表示学习完成了,去吃饭。
        // this.eat();
        // this. 可以省略
        // 编译器检测到eat()方法是实例方法,会自动在eat()方法前添加 this.
        eat();
        
    }
    
    public void eat(){
        
        System.out.println(this.getName() + "在餐厅吃饭呢!!!");
        
        // 调用静态m1()方法
        // 静态方法使用"类名." 的方式访问
        // Student.m1();
        
        // 类名. 可以省略吗? 可以
        // java编译器会自动在m1()方法之前添加“类名.”,因为检测到m1()方法是一个静态方法。
        
        m1();
    }
    
    
    // 静态方法
    public static void m1(){
        System.out.println("Student‘s m1 method execute!");
        m2();
    }
    
    public static void m2(){
        System.out.println("Student‘s m2 method execute!");
        // 编译器检测到job是一个静态变量,所以这里会自动在job前添加:Studen.
        System.out.println("工作性质:" + job);
    }
}

 

执行结果如下:
Review类加载时执行!
Studen类加载时执行!
实例语句块,构造方法执行一次,这里就执行一次。
zhagnsan正在努力的学习!
zhagnsan在餐厅吃饭呢!!!
Student‘s m1 method execute!
Student‘s m2 method execute!
工作性质:学习
实例语句块,构造方法执行一次,这里就执行一次。

以上是关于对之前的所有的代码进行总结的主要内容,如果未能解决你的问题,请参考以下文章

python使用上下文对代码片段进行计时,非装饰器

C#设计模式总结

C#设计模式总结

C#设计模式总结

C#设计模式总结

C#设计模式总结