Java输出基础结构

Java输出基础结构目录 有关构造方法中的输出 先来看一个例子 java 中构造方法的作用 有关构造方法中的输出 在构造方法中的 System out println 是怎么运行的呢 下面让我们一起来看一下 构造方法中的 System out println 先来看一个例子 package testasdd public class Abcdefg String name int age

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



有关构造方法中的输出

在构造方法中的System.out.println是怎么运行的呢?下面让我们一起来看一下。

构造方法中的System.out.println:

先来看一个例子

package testasdd; public class Abcdefg { String name; int age; Abcdefg(String namel,int agel){ name=namel; age=agel; System.out.println("我可谢谢你了"); } void bank() { System.out.println("可以的"); } public static void main(String[] args) { // TODO Auto-generated method stub Abcdefg a= new Abcdefg("滑板", 22); String name=a.name; int age=a.age; System.out.println("我是"+name+"玩了"+age); a.bank(); } }
讯享网

输出如下:

我可谢谢你了
我是滑板玩了22
可以的

为什么构造方法中的输出也在控制台输出了呢?

因为构造方法在类被实例化的时候会被调用。

也就是在我们,新键一个对象的时候构造方法会被调用因此其中的System.out.println会在创建对象的时候被调用输出。

这就是为什么我们明明没有有关他的语句却有这句输出的原因了。

java中构造方法的作用

初学Java的构造方法时,根本不能理解构造方法有什么用,自己写程序的时候也从来没有用过。于是刚开始我写的程序是这样的:

Java输出基础结构

讯享网package test3; public class Student { private String name; private long ID; private double score; public String getName() { return name; } public void setName(String name) { this.name = name; } public long getID() { return ID; } public void setID(long iD) { ID = iD; } public double getScore() { return score; } public void setScore(double score) { this.score = score; } public static void main(String[] args) { Student s = new Student(); s.setName("张三"); s.setID(); s.setScore(86.0); System.out.println("学号为" + s.getID + "的" + s.getName() + "的成绩为" + s.getScore + "分。"); } }

然后我发现,这样写程序有弊端。就是比如我要登记学生的基本情况,有姓名、学号、年级班级、成绩等等好多情况,如果有很多属性,同时实例化了好多对象,我可能就会忘记忘记初始化一些属性;同时,这样还需要写许多get和set方法,虽然可以由eclipse自动生成,但还是显得代码很冗长,不便于阅读。这个时候就显示出构造方法的重要性了。

构造方法的主要作用就是创建对象。

构造方法分为有参数和没有参数两种。有参数的构造方法主要就是用于对创建出来的对象进行初始化,比如下边这个例子:

package test3; public class Test_Constructor1 { private String name; private String gender; private long ID; private long birthday; Test_Constructor1(String name, String gender, long ID, long birthday) { this.name = name; this.gender = gender; this.ID = ID; this.birthday = birthday; } public static void main(String[] args) { Test_Constructor1 s = new Test_Constructor1("Lily", "女", , ); System.out.println("姓名:" + s.name + " 性别:" + s.gender + " 学号:" + s.ID + " 生日:" + s.birthday); } }

在控制台的输出结果如下:

这样在new一个对象出来的时候,就对它进行了初始化,避免了某些属性忘记初始化的问题;同时可以看出代码长度远小于上一个例子,提高了程序的可阅读性。

另一种是没有参数的构造方法,又叫缺省构造方法。其实,你的类如果没有定义任何构造方法,Java的编译器会配上一个自动缺省构造方法,这个构造方法是空的,不做任何事情,只是为了满足编译需要。或者,你也可以自己写一个空的构造方法,在里边对一些属性赋值,或者执行一些其他操作,比如下边这个例子:

讯享网package test3; public class Test_Constructor2 { private int i; Test_Constructor2() { i = 5; System.out.println("i的值是" + i); } public static void main(String[] args) { Test_Constructor2 s = new Test_Constructor2(); } }

在控制台的输出结果如下:

没有参数的构造方法创建对象时也会被调用。创建对象时,首先变量中的所有变量会得到零值,然后执行定义初始化,最后执行构造方法。

其实,构造方法的主要作用就是为对象成员变量赋初始值,总是与new运算符一起使用在创建对象的语句中——也就是说,只要你new一个对象出来,就会相应地调用这个类的构造方法。有参数的构造方法可以对对象进行初始化,但建议写了有参的构造方法后再写一个无参的空的构造方法,便于创建一个对象而不给它的成员变量赋初值。要注意,自己写了有参的构造方法,编译器是不会再补充一个缺省构造方法的。

小讯
上一篇 2024-12-24 11:23
下一篇 2025-01-03 07:10

相关推荐

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