java面向对象练习9 构造器的定义,javaBean,UML类图

这篇博客探讨了Java中构造器的使用和特性,包括无参和有参构造器的定义,以及构造器的重载。同时介绍了JavaBean的标准,强调其公共性、无参构造器以及get/set方法的重要性。此外,还提及了UML类图在规划类结构中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*

    • 类的结构之构造器的使用
    • 构造器的作用是为了创建对象,给对象进行初始化,使用参数给属性赋值
    • 构造器语法格式:
      修饰符 类名(参数列表){
      初始化语句
      }
    • 构造器分类:
  • 1,隐式无参构造器,由系统默认提供。
  • 2,显示定义一个或多个构造器(可以无参,可以有参)
  • *构造器特征:
  • 1.1具有与类相同的名称
  • 1.2不声明返回值类型(与声明为void不同)
  • 1.3不能被static,final,synchronized,abstract,native修饰,
  • 不能有return返回值
  • 1.4每个类至少有一个构造器
  • 1.5默认构造器的修饰符与所属类的修饰符一致,自定义构造器权限可以不同
  • 1.6一旦显示的定义了一个构造器,则系统不再提供默认构造器;
  • 1.7一个类可以创建多个重载的构造器
  • 1.8父类中的构造器无法被子类继承
  • 构造器的重载
  • 构造器重载可以使创建对象方式更加灵活,方便创建各种不同对象
  • 构造器构成重载则参数列表必须不同
  • 属性赋值的过程;
  • 赋值位置
  • 1,默认初始化 (int base)
  • 2,显示初始化 (int base = 2)
  • 3,构造器中的初始化 (Triangle(3,4))
  • 4,通过对象.属性或对象.方法的方式赋值(t.setBase = 5)
  • 赋值的先后顺序 1-2-3-4
    */
package com.atguigu.contact;

public class Object_Constructor {
		
   public static void main(String[] args) {
	   
	   Object_Constructor o = new Object_Constructor();
	   //Object_Constructor()就是系统默认的Object_Constructor类的构造器。
	   System.out.println(o.s);
	   Object_Constructor o1 = new Object_Constructor("name");
	   System.out.println(o1.s);
	   Object_Constructor o2 = new Object_Constructor(1,"name",3.14);
	   System.out.println(o2.i + o2.s + o2.d);
	   //测试Triangle类,计算三角形面积
	   Triangle t = new Triangle(4.5,3.7);
	   System.out.println(t.getArea());
	   
}
   
   int i;
   String s;
   double d;
   protected Object_Constructor(){
	   i = 0;
	   s = "";
	   d = 0.0;
   }
   private Object_Constructor(int i){
	   this.i = i;
	   s = "";
	   d = 0.0;
   }
   Object_Constructor(String s){
	   i = 0;
	   this.s = s;
	   d = 0.0;
   }
   Object_Constructor(double d){
	   i = 0;
	   s = "";
	   this.d = d;
   }
   Object_Constructor(int i,String s,double d){
	   this.i = i;
	   this.s = s;
	   this.d = d;
   }
   
}

class Triangle{
	private double base;
	private double hight;
	
	public Triangle() {	//开发中习惯定义一个空参构造器	
	}
	
	Triangle(double m,double n){
		base = m;
		hight = n;		
	}
	
	public void setBase(double m) {
		base = m;
	}
	public double getBase() {
		return base;
	}
    public void setHight(double m) {
		hight = m;
	}
    public double getHight() {
		return hight;
	}
	
    public double getArea() {
    	return (base * hight) / 2;
    }
}

/*

  • JavaBean
  • JavaBean是用java语言写的可重用组件
  • javaBean是符合以下标准的java类
  • 1,类是公共的
  • 2,有一个无参的公共的构造器
  • 3,有属性,且有对应的get,set方法
  • 用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以
    *用Java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP
    *页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。用
    *户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关
    *心任何改变。

*UML类图
*类似设计草图,规划出要创造的类的结构目录

  • bank 包名

  • Account 类名

  • -balance : double 属性列表, “:”前是属性名名,后面是属性类型

  • +Account(int : t balance : double) 加下划线为构造器,不加为方法
  • +getBalance() : double
  • +deposit(amt : double)
  • 方法的表示方法: 方法权限(+ - #) 方法名(参数名 : 参数类型) : 返回值类型
  • 其中+表示public,- 表示private,#表示protected

*/

package com.atguigu.contact;

public class Object_JavaBean {
        String name;
        int age;
       
       public Object_JavaBean() {
    	   
       }
       public void setName(String s) {
    	   name = s;
       }
       public String getName() {
    	   return name;
       }
       public void setAge(int a) {
    	  age = a;
       }
       public int getAge() {
    	   return age;
       }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值