构造方法

构造方法特点

  • 方法名与类名相同
  • 方法名前没有返回值类型的声明(void也没有)
  • 方法中不能使用return语句返回一个值
  • 创建对象时自动调用并执行
  • 如果类中没有自定义构造方法,则java调用类的默认构造方法,将使用默认值来初始化成员变量

构造方法与一般方法区别

  • 格式

    构造方法和类名相同,并且无返回类型,无返回值

    一般方法可任意起名,必须有返回类型,可无返回值
  • 调用

    构造方法在对象一建立就调用,给对象初始化

    一般方法时对对象的调用才执行
  • 运行次数

    一个对象建立,构造方法只能运行一次

    一般方法可被该对象调用多次
  • 作用

    构造方法用于创建对象,并进行初始化

    一般方法时用于完成特定功能的

构造方法的重载

在一个类中可以定义多个构造方法,只要每个构造方法的参数类型或参数个数不同即可

构造方法的类型

  • 有参构造方法
  • 无参构造方法
class Persion{
private String name;
private int age; Persion(){
System.out.println("a:name="+name+",age="+age);
}
Persion(String n){
name = n;
System.out.println("b:name="+name+",age="+age);
}
Persion(String n,int a){
name = n;
age = a;
System.out.println("c:name="+name+",age="+age);
} }
public class PersionDemo2{
public static void main(String[] args){
Persion p1 = new Persion(); //调用无参构造方法
Persion p2 = new Persion("wujiadong"); //调用一个参数的构造方法
Persion p3 = new Persion("wujiadong",24); //调用两个参构造方法
}
} /*
输出结果:
a:name=null,age=0
b:name=wujiadong,age=0
c:name=wujiadong,age=24
*/

注意

  • 为了方法实例化,构造方法一般使用public来修饰
  • 在java中每个类至少有一个构造方法,若没有定义构造方法,系统会自动为该类创建一个默认的空的构造方法

构造代码块

  • 作用

    给对象进行初始化,对象一建立就执行,而且优先于构造函数执行
  • 构造代码块和构造函数的区别

    构造代码块是给所有不同对象的共性进行统一初始化

    构造函数是给对应的对象进行初始化

主函数

主函数:是一个特殊的函数,作为程序的入口,可以被jvm调用

主函数的定义:

public:代表着该函数被范围权限是最大的

static:代表主函数随着类的加载就已经存在了

void:主函数没有具体的返回值

main:不是关键字,一个特殊的单词,可以被jvm识别

String[] args: 函数的参数,参数类型是数组,该数组的元素师字符串。字符串类型的数组

最新文章

  1. c# 判断访问来源是否来自手机
  2. 【转】B-树和B+树的应用:数据搜索和数据库索引
  3. 二、 显示加载数据过程的JS
  4. Python之多线程
  5. 一个不错的安卓下ssh客户端
  6. 《Pro AngularJS》学习小结-02
  7. 关于heritrix安装配置时出现”必须限制口令文件读取访问权限”的解决方法
  8. 如何在tomcat安装部署php项目
  9. 第二百七十九天 how can I 坚持
  10. Microsoft Expression Blend 4制作简单的按钮
  11. storm核心组件
  12. zookeeper[3] zookeeper API开发注意事项总结
  13. kiki's game
  14. Node.js可以做些什么?
  15. 【Unity游戏开发】浅谈 NGUI 中的 UIRoot、UIPanel、UICamera 组件
  16. Java常用类之String类练习
  17. Scrapyd
  18. Tomcat各个版本下载路径
  19. Es6 的类(class)
  20. _tkinter.TclError: image "pyimage1" doesn't exist 解决办法

热门文章

  1. PHP 如何成长 (收藏自:http://www.cnblogs.com/try-better-tomorrow/p/6964036.html)
  2. bin/mysqld: error while loading shared libraries: libnuma.so.1: 安装mysql
  3. Machine Learning - week 2 - 编程练习
  4. Vue中非父子组件传值的问题
  5. pythpn的zip函数
  6. 怎样解决Please ensure that adb is correctly located at......
  7. java 抽象类实现接口
  8. python ipython notebook或者 jupyter notebook 的安装
  9. 1.7 使用电脑测试MC20的发送带中文的短信功能
  10. PsySH——PHP交互式控制台