ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

构造器基本原理

2022-09-14 21:02:32  阅读:275  来源: 互联网

标签:初始化 Triangle 基本原理 age 构造 public 属性


224 构造器基本原理

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

作用1 : 创建对象

  • 如果没有自定义的构造器的话,则系统默认提供一个空参构造器.

  • 格式: 权限修饰符,类名(形参列表){ } .

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

  • 在一个类中,定义的多个构造器,彼此构成重载.

  • 一旦我们自定义构造器之后,系统就不再提供默认空参构造器了.

  • 一个类中至少要有一个构造器.

课后题: 226

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个类,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());
}
}
  • 构造器根据形参的数量和类型可以重制,一般可以在空参构造器后创建几个带形参的构造器重载.

    228 总结属性赋值的过程

    • 默认初始化

    • 显示初始化

    • 构造器初始化

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

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

       

    229. JAVA BEAN

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

  1. 类是公共的。

  2. 有一个无参公共构造器。

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

    代码在 OOP/Teams/javaBeanTest.java

标签:初始化,Triangle,基本原理,age,构造,public,属性
来源: https://www.cnblogs.com/lg369/p/16694480.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有