0
点赞
收藏
分享

微信扫一扫

泡泡冷知识 类和对象2

汤姆torn 2022-04-26 阅读 46
java

在这里插入图片描述

文章目录

类和对象2

1、回顾上节

1.1、this用法

以下示例:

class Person{
    public String name;
    public int age;

    //在一个构造方法中  可以去调用另外一个构造方法
    //这时候先打印带两个参数的 后打印不带参数的  注意:不能成环   而且只能放在第一行
    public Person(){
        this("zhenzhen",99);
        System.out.println("不带参数的构造方法");

    }

    /**
     * 构造方法          可以发生重载
     * @param name
     * @param age
     */
    public Person(String name,int age){
        this.name = name;
        this.age = age;
        System.out.println("带有两个参数的构造方法");
    }
    public void sleep(){
        int a = 0;
        System.out.println(a);
        //谁调用sleep谁就是this  : this 代表当前对象的引用  person2
        System.out.println(this.name + "正在吃饭!");

    }
    public void eat(){
        this.sleep();
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}
public class TestDemo {

    public static void main(String[] args) {
        //Person person1 = new Person();
        System.out.println(new Person());
        //跟上面一个效果
        /*System.out.println("================================");
        Person person2 = new Person();
        System.out.println("================================");
        Person person3 = new Person("weiwei",98);*/
    }

    public static void main1(String[] args) {
        Person person1 = new Person();//Person()就是调用不带参数的构造方法
        person1.name = "a wei";
        person1.sleep();

        Person person2 = new Person();//Person()就是调用不带参数的构造方法
        person2.name = "zhenzhen";
        person2.sleep();

    }
}

2、static成员

2.1、学生类演示

实例化对象:

        Student student1 = new Student("bit",18,34.6);
        Student student2 = new Student("张三",28,14.6);

共有全部属性,如图:
在这里插入图片描述
没有加入 static 测试显示上面 class

在这里插入图片描述
这里第五行加入 static 之后 测试并没有 classes
这时候分析一下 static 修饰静态成员变量

class Student{

    private String name;
    private int age;
    private double score;
    private static String classes;

    public Student(String name, int age, double score) {
        this.name = name;
        this.age = age;
        this.score = score;
    }

    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;
    }

    public double getScore() {
        return score;
    }

    public void setScore(double score) {
        this.score = score;
    }

    public void doClsaa(){
        System.out.println(this.name+ " 正在上课!");
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", score=" + score +
                '}';
    }
}



public class TestDemo {
    public static void main(String[] args) {
        Student student1 = new Student("bit",18,34.6);

        Student student2 = new Student("张三",28,14.6);

        System.out.println("hello");
    }
}

这里加入代码:

public static String classes;//  加入为第五行

//这里直接通过类名访问
Student.classes = “11Java”;
在这里插入图片描述

2.2、static修饰静态成员变量

插入代码:

public static void main(String[] args) {

        Student student1 = null;

        Student.classes = "104Java";

        System.out.println(Student.classes);
}

运行后:
在这里插入图片描述

在普通方法去也可以使用静态成员变量

public static void main(String[] args) {
        Student.classes = "104Java";
        Student student1 = new Student("bit",18,34.6);
        student1.doClass();
    }

运行结果:

【静态成员变量特性】

3、代码块

3.1、什么是代码块及分类

3.2、实例代码块

代码演示:

{
        this.name = "haha";
        this.age = 19;
        this.score = 88;
        System.out.println("实例代码块!一般用来初始化实例普通成员变量成员");
    }

【注意事项 】

3.3、静态代码块

注意事项

代码演示:

public static void main(String[] args) {
        /**
         * 1、调用带有三个参数的构造方法
         */
        Student student1 = new Student("bit",18,34.6);
        //System.out.println(student1);
        System.out.println("====================================");
        Student student2 = new Student("张三",28,14.6);
    }

运行结果:
在这里插入图片描述

举报

相关推荐

0 条评论