2024年补基础java c

补基础java c1 定义一个 Person 类 属性 所有的变量必须为私有 private 无参构造函数 功能 打印 This is constructor 有参构造函数 功能 给属性赋值 建议 使用 Eclipse 自动生成 toString 方法 2 定义类的初始化块 为 Person 类加入初始化块 在初始化块中对属性赋值 并且要保证每次的值比上次创建的对象的值 然后在下一行打印

大家好,我是讯享网,很高兴认识大家。



1.定义一个Person类

属性:, , ,  ,所有的变量必须为私有(private)。
无参构造函数:功能:打印This is constructor 。
有参构造函数: ,功能:给属性赋值。
建议:使用Eclipse自动生成toString方法

2.定义类的初始化块

为Person类加入初始化块,在初始化块中对属性赋值,并且要保证每次的值比上次创建的对象的值。然后在下一行打印 其中是id的值。
提示:可为类定义一个属性来记录所创建的对象个数。

3.编写静态初始化块

打印

4.编写main方法

  • 首先输入n,代表要创建的对象数量。
  • 然后从控制台分别读取n行的, 并调用有参构造函数新建对象 。
  • 将创建好的n个对象逆序输出(即输出方法)。
  • 使用无参构造函数新建一个Person对象,然后直接打印该对象。

思考

初始化类与对象有几种方法,构造函数、初始化块、静态初始化块。这三种方法执行的先后顺序是什么?各执行几次。

输入样例:

输出样例:

代码:

import java.util.Scanner;

class Person{

    private String name;

    private boolean gender;

    private int age;

    private int id;

    private static int objectcount = 0;

    {

        this.id=objectcount;

        System.out.println("This is initialization block, id is "+id);

        objectcount++;

    }

    static{

        System.out.println("This is static initialization block");

    }

    Person(){

        System.out.println("This is constructor");

        System.out.println(name+","+age+","+gender+","+id);

        System.out.println(toString());

    }

    Person(String name,int age,boolean gender){

        this.name=name;

        this.age=age;

        this.gender=gender;

    }

    @Override

    public String toString(){

        return "Person [name=" + name + ", age=" + age + ", gender=" + gender + ", id=" + id + "]";

    }

}

public class Main{

    public static void main(String[] args){

        Scanner sc = new Scanner(System.in);

        int n = sc.nextInt();

        String[] arr = new String[n];

        for(int i=0;i<n;i++){

            String name = sc.next();

            int age = Integer.valueOf(sc.next());补基础java c

            boolean gender = Boolean.valueOf(sc.next());

            Person p = new Person(name,age,gender);

            arr[i] = p.toString();

        }

        for(int i=arr.length;i>0;i--) {

            System.out.println(arr[i-1]);

        }

        new Person();

        sc.close();

    }

}



小讯
上一篇 2024-12-30 11:51
下一篇 2024-12-31 19:31

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/6044.html