本文主要是介绍thinkinjava--5.1-5.7构造器练习,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
学习内容
Java构造器
1.与类的名字完全相同
2.不接受任何参数的构造器叫“默认构造器”,也可以自定义有参的参数构造器。
两道构造器初始化的练习
3.当有自定义构造器(不管有无参数),编译器就不在帮你自动创建默认构造器。
练习
1.创建一个类,它包含一个未初始化的String引用,验证该引用被java初始化成null。
public class Practice_Constructors {private String s;//未被初始化的引用public static void main(String args[]) {Practice_Constructors p = new Practice_Constructors(); System.out.println(p.s);//在类被初始化的时候调用默认的构造函数,将引用初始化成null}
}
2.定义一个类,它包含一个在定义时就被初始化的Stirng域,以及另一个通过构造器初始化的String域,这两种有何差异?
public class Practice_Constructors {String s1 = new String("abc");//定义时初始化Practice_Constructors (){};//默认构造器Practice_Constructors(int i) {//带 参数的构造器this.s1 = new String("xyz");//初始化参数}public static void main(String args[]) {//验证入口Practice_Constructors p1 = new Practice_Constructors();System.out.println(p1.s1);//abcPractice_Constructors p2 = new Practice_Constructors(1);System.out.println(p2.s1);//xyz}
}
//证明:构造函数在对象创建时调用,她会覆盖类定义时初始化的值。3.
3.:创建一个带默认构造器(即无参构造器)的类,在构造器中打印一条消息。为这个类创建一个对象。
4.:为前一个练习的类中添加一个重载构造器,令其接受一个字符串参数,并在构造器中把你自己的消息和接受的参数一起打印出来。
5.创建一个名为Dog的类,它具有重载的bark()方法。此方法应根据不同的基本数据类型进行重载,并根据被调用的版本,打印出不同类型的狗吠(barking),咆哮(howling)等信息。编写main()来调用所有不同的版本的方法
public class Pratice_defaultConstructer {public static void main(String args[]) {// Pratice1 p1 = new Pratice1(1);Dog dog = new Dog();dog.bark(1,"小美");}}
class Pratice1{
//练习3:无参构造器Pratice1(){System.out.println("声明无参的构造器");}
//练习4:重载构造器Pratice1(int i){System.out.println("声明重载带参数的构造器和接收的参数:"+i);}
}
//练习5class Dog{void bark(int i){System.out.println("有"+i+"只狗在叫");};void bark(int i,String str){System.out.println("有"+i+"只狗在叫"+",它叫"+str);};}
这篇关于thinkinjava--5.1-5.7构造器练习的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!