224 . 面向对象(上) 构造器基本原理

224 . 面向对象(上) 构造器基本原理

一.构造器(或构造方法,constructor)的作用.

作用1 : 创建对象

  • 如果没有自定义的构造器的话,则系统默认提供一个空参构造器.
  • 格式: 权限修饰符,类名(形参列表){ } .

作用2 : 可以带形参,来初始化对象的属性信息.

  • 在一个类中,定义的多个构造器,彼此构成重载.
  • 一旦我们自定义构造器之后,系统就不再提供默认空参构造器了.
  • 一个类中至少要有一个构造器.
构造器 课后题: 1

1.在前面定义的Person类中添加构造器,利用构造器设置所有人的age属性初始值都为18。

2.修改上题中类和构造器,增加name属性,使得每次创建Person对象的同时初始化对象的age属性值和name属性值。I

Person 类

-name:String +setName(i:String) +getName():String

public class ren {
	
	private int age ; 
	String name ;
	 ren(int a, String n ) {    //在类名前不写class,就是构造器.
		age = a ;	//用构造器形参传入age和name的值
		name = n;   //构造器把属性age初始化为18
	}      			
	// 输入人年龄的方法
	void setAge (int s) {
			age = s ;
		}
	// 显示年龄的方法
	int getAge () {
		return age ;
	}
}
//===================================
public class renTest {
public static void main(String[] args) {
	ren r = new ren (8,"Tom"); //通过构造器形参,给对象的属性初始化
	System.out.println(r.getAge()+r.name);
}
}
227. 构造器 练习2

创建2个类,Triangle 和 TriangleTest, 其中Triangle中声明私有的底边长base和高height , 声明公共方法访问私有变量,此处提供构造器,另一个类使用这些公共方法计算三角形面积.

public class Triangle {
		private double base;
		private double height;
		
		Triangle(){    //再创建一个空参的构造器,想用哪个都行
			
		}
		Triangle(double b , double h) {  //自定义构造器把base和height初始化你想要的数
			base = b;		//带形参的构造器可以new对象的时候传入实参来初始化属性.
			height = h;				
		}
		
		double triArea() {    //计算面积的方法
			return base*height/2 ;
		}
    public class TriangleTest {
		public static void main(String[] args) {
			Triangle t = new Triangle(9,2);
            //创建对象时传入实参初始化两个属性
			System.out.println(t.triArea());
		}
}
构造器 练习题 3

(1)定义Student类,有4个属性:

String name; int age; String school; String major;

(2)定义Student类的3个构造器:

>第一个构造器Student(String n,int a)设置类的name和age属性;

>第二个构造器Student(Stringn,int a,String s)设置类的name,age和school属性;

>第三个构造器Student(String n,int a,String s,String m)设置类的name,age,school和major属性;

(3)在main方法中分别调用不同的构造器创建的对象,并输出其属性值。

  • 构造器根据形参的数量和类型可以重制,一般可以在空参构造器后创建几个带形参的构造器重载.

    228 总结属性赋值的过程

    给类中的属性赋值的几种方法:

    • 默认初始化

    • 显示初始化

    • 构造器初始化

      以上都属于初始化,只执行一次。

    • 通过 对象.属性 和 对象.方法 方式赋值,--可以反复执行。

    229. JAVA BEAN

它时一种可复用组件,是符合一下标准的java类。

  1. 类是公共的。

  2. 有一个无参公共构造器。(默认构造器权限同类)

  3. 有属性且有对应的get,set方法。

    用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用Java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。用 户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。

JavaBean 练习题 :

写一个JavaBean

//公共类
public class Customer{
    //私有的属性
    private int age ;
    private String name ;
   //空参构造器
    public Customer(){
        }
    //公共的get,set方法
    public int getAge(){
        return age;
    }
    public void setAge(int a){
        age = a;
    }
    public String getName(){
        return name;
    }
    public void setName(String n){
        name = n;
    }
}
posted @ 2022-10-24 10:55  大宝贝94106  阅读(144)  评论(0)    收藏  举报