Java学习方法——类的构造方法

构造方法

在类中有一种特殊类型的方法,名叫构造方法,构造方法与类同名,对象的创建通过构造方法完成。每当类实例化一个对象,类都会自动调用构造方法。

构造方法也就是创建类的对象过程中运行的方法,也就是对象的初始化方法。

当创建一个类时,如果类中没有定义构造方法,编译器会默认自动创建一个不带参数的构造方法。

特点:

1:构造方法无返回值

2:构造方法的名称与本类名称相同

构造方法的语法定义格式:

public class ch {public ch(){}
}

3:在一个类中可以定义多个构造方法,并且可以都可以对他们进行调用

例如:

public class ch {String x;public ch(String x){this.x = x;System.out.print(this.x);}public ch(){x = "world !";System.out.println(x);}public static void main(String[] args) {ch b = new ch("Hello ");ch a = new ch();   //output Hello world !}
}

4:当构造方法中有参数时,想要调用该方法就必须要在该方法中加入相应类型的参数

例如:

public class ch {public ch(int x){}public static void main(String[] args) {ch y = new ch(0);//如果不加参数编译器会报错}
}

5.当创建一个对象时会自动调用与对象相关联的类的构造方法

作用

在构造方法中可以为成员变量赋值,当实例化一个变量时,可以为成员变量赋予初值。

    public class ch {String x;public ch(){this.x = "你好";}public static void main(String[] args) {ch a = new ch();System.out.println(a.x);}
}            //output 你好
public class identity {double kg;String ability;String name;double height;public identity(double kg,String ability,String name,double height){this.ability = ability;this.kg = kg;this.name = name;this.height = height;}public static void main(String[] args) {String name = "艾伦·耶格尔";double kg = 63;double height = 1.7;String ability = "巨人之力";identity a = new identity(kg,ability,name,height);System.out.println("进击的巨人主角是 " + a.name + '\n' + "身高(米): " + a.height + "\n" + "体重(千克): " + a.kg + "\n" + "能力 :" + a.ability);}
}

在上述代码中分别用不带参数的构造方法和带参数的构造方法对对象的成员变量进行初始化。

同时,我们还可以再无参构造方法中调用有参构造方法。

例如:

public class Hello {String str;public Hello(String str){this.str = str;System.out.println(this.str);}public Hello(){this("Hello world !");}public static void main(String[] args) {Hello a = new Hello();}
}

Java学习方法——类的构造方法相关推荐

  1. java,类的构造方法

    package org.hanqi.pn0120;public class Book {//构造方法(构造函数)//1.方法名和类名一样//2.构造方法没有返回值//3.只要自定义了构造方法,就不会自 ...

  2. Java :BufferedWriter类和BufferedReader类的构造方法、主要方法

    BufferedWriter 和 BufferedReader 为带有默认缓冲的字符输出输入流,因为有缓冲区所以效率比没有缓冲区的高. 一.BufferedWriter 类 构造方法:buffered ...

  3. 第三次学JAVA再学不好就吃翔(part53)--StringBuffer类的构造方法

    学习笔记,仅供参考 文章目录 StringBuffer类 StringBuffer类的构造方法 StringBuffer类的方法 capacity length 举个例子 StringBuffer类 ...

  4. 第三次学JAVA再学不好就吃翔(part47)--String类的构造方法

    学习笔记,仅供参考 文章目录 String类 String类概述 String类的构造方法 String类 String类概述 String是java.lang包下的一个类,使用String类时不需要 ...

  5. java/03/类与对象,深入分析类与对象(权限修饰,构造方法和简单java类),数组的定义及使用

    java/03/类与对象,深入分析类与对象(权限修饰,构造方法和简单java类),数组的定义及使用 七十年代,IBM的Smalltalk语言最先推广面向对象,后来C语言变为C++,后来C++又产生了J ...

  6. JAVA进阶教学之(String类的构造方法)

    试题: 问:以下程序一共创建了几个对象 public class StringTest03 {public static void main(String[] args) {String s1=new ...

  7. java学习---类与对象

    java学习心得3 文章目录 java学习心得3 类 对象 关键字this 总结与反思 类 一 定义一个Java的类 属性 : 将数据存储在变量中 1成员变量 使用成员变量:对象名.变量名 使用成员方 ...

  8. Java枚举类使用方式

    Java枚举类使用方式 单枚举定义 : /*** * @title: 单枚举定义* @author: wll* @since: 2021-1-27 14:47:54*/ public enum Jud ...

  9. java流类图结构_java I/O 流总结

    一.java 流操作有关的类和接口: 类                                                                          说明 Fil ...

  10. Java Process类的浅学习

    Java Process类的浅学习 文章分类:Java编程 今天用了下java.lang.Process类,只是初步的学习,并没有深入实践,因为感觉它的用途并不是很大,偶尔才可能用上,如果要经常使用它 ...

最新文章

  1. Docker 公司是如何做社区的?
  2. 【资源】首发:徐亦达老师的机器学习课件及下载(中文目录)
  3. tornado函数和类的导入和ui_modules  , ui_methods
  4. 2修改字段名_DevExpress ASP.NET v18.2新功能详解(二)
  5. 从HBase中移除WAL?3D XPoint技术带来的变革
  6. css3制作炫酷导航栏效果 转
  7. java 排序api_用java api进行sort
  8. 2017上海ACM ECL-final 总结
  9. Android studio中常用快捷键
  10. 菜鸟学EJB(二)——在同一个SessionBean中使用@Remote和@Local
  11. python 多线程,进程的理解
  12. Java 经纬度转UTM投影
  13. Tornado使用模板
  14. 创建联系人vcf文件通讯录
  15. OpenCV图像处理(下) 边缘检测+模板匹配+霍夫变换
  16. php屏蔽微信网页投诉按钮,屏蔽微信(QQ)内置浏览器菜单中的投诉按钮
  17. 虚拟化构建二分图(BZOJ2080 题解+浅谈几道双栈排序思想的题)
  18. Linux系统管理常用知识点总结(6-11章)
  19. tokenizer.encode_plus方法
  20. Android平台上基于OpenGl渲染yuv视频

热门文章

  1. php excel速度慢,window_win10双击打开excel太慢了的三种解决办法,win10双击打开excel文件慢该怎么 - phpStudy...
  2. 【noip模拟题】华尔街的秘密
  3. Java编程英语单词大全_java编程常用英语单词
  4. OpenFPGA系列(四) OpenFPGA 架构描述文件和仿真配置文件
  5. 怎么清除U盘病毒的简单步骤
  6. IMO2019 D1T1解答
  7. 历时两年,秘鲁四人调查团队发布反腐 AI
  8. redis中字符串(String)类型常见命令操作 (附有示例)
  9. promise跟ajax区别,Promise和AJAX有什么区别?
  10. Mars Rover