博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java对象和构造方法的区别
阅读量:5212 次
发布时间:2019-06-14

本文共 896 字,大约阅读时间需要 2 分钟。

  例如:Test是一个类,那么 Test t = new Test();这个语句叫做类的实例化,即t是Test类的一个实例,这个t就是一个Test类型的对象,在这个实例化过程中,也就是new Test();系统会自动调用Test类中的构造方法,如果你在定义Test类的时候写了无参构造方法Test(),那么就调用这个方法,如果你没写构造方法系统会默认有一个无参构造方法,如果你写了有参构造,那么new Test();会报错,必须写成:new Test(参数);构造方法的作用就是规定在创建这个实例的时候想做的事,比如你可以在这里给Test类的私有变量赋值..

而JAVA中普通的方法和构造方法有什么区别
  1、方法有,方法名小写,不能和类名相同;构造方法没有,void也不行,名与类名相同。

  2、构造方法是初始化对象的重要途径,所以就算你给一个类没有定义构造方法,方法在这个类的加载得时候,会自动提供一个没有参数的构造方法。所以,常见得 Student s=new Student();那么,s这个实例,是通过构造方法初始化的;而普通方法不行

  3、他们运行顺序不同。一个类在初始化的时候,例如People是Student的父类,有构造方法 public PeoPle(){}那么,当实例化Student p=new Student()得时候,父类的构造方法会隐式执行(你可自己敲代码尝试,父类构造方法中写个输出语句:例如System.out.println("父类构造方法"))。你会发现,没有调用任何父类,也没有实例化父类,但是构造方法却执行了。

   4、方法仅仅是类成员,构造方法也是类成员,但是,构造方法有对类属性得初始化的功能。所以,常见到 public PeoPle(String name){this.name=name}或者 public PeoPle(){name="wangsan",age=14},完成了对People类属性name或者age的初始化

转载于:https://www.cnblogs.com/jingongxia/p/9092717.html

你可能感兴趣的文章
设计模式大类--行为模式(中)
查看>>
设计模式22——行为型模式之策略模式
查看>>
Java学习
查看>>
ansible案例-安装nginx
查看>>
CodeForces 588B
查看>>
python迭代-如何使用生成器函数实现可迭代对象
查看>>
附加作业:黄金点游戏
查看>>
如何从GitHub获取源代码
查看>>
[UnityAPI]DataUtility类
查看>>
[Unity插件]AI行为树使用总结
查看>>
linux下的/dev/shm目录
查看>>
测试与优化
查看>>
IE9以下浏览器提示升级
查看>>
CSS 3 选择器
查看>>
又是1年过去了。。。
查看>>
我的网站PR升了没有?
查看>>
普通软件项目开发过程规范(一)—— 项目阶段 (转)
查看>>
mongodb 基础知识
查看>>
AngularJs学习笔记(一)----------关于数据绑定
查看>>
关于Junit、Hamcrest、Eclemma的安装配置,以及简易程序Junit测试、覆盖测试
查看>>