当前位置: 首页 > news >正文

仲恺企业网站建设/友情链接交易网站源码

仲恺企业网站建设,友情链接交易网站源码,牡丹江建设行业协会网站,网站后台开发语言前面我们说了public等的权限范围,现在我们得开始学习构造方法了。那么什么是构造方法呢?构造方法(也称为构造器)是一个特殊的成员方法,名字必须与类名相同,在创建对象时,由编译器自动调用,并且 在整个对象的…

        前面我们说了public等的权限范围,现在我们得开始学习构造方法了。那么什么是构造方法呢?构造方法(也称为构造器)是一个特殊的成员方法,名字必须与类名相同,在创建对象时,由编译器自动调用,并且 在整个对象的生命周期内只调用一次。听这名字是不是就认为是构造方法将对象的空间开辟出来是吧?其实不是,构造方法的作用就是对对象中的成员进行初始化,并不负责给对象开辟空间,开辟空间的是new,而不是构造方法。

        那么构造方法与成员方法的区别是什么呢?也就是说构造方法的特性是什么呢?其特性为:

1. 名字必须与类名相同
2. 没有返回值类型,设置为void也不行
3. 创建对象时由编译器自动调用,并且在对象的生命周期内只调用一次(相当于人的出生,每个人只能出生一次)
4. 构造方法可以重载(用户根据自己的需求提供不同参数的构造方法)
class Student{public String name;public int age;public String sex;public Student(String name, int age, String sex) {this.name = name;this.age = age;this.sex = sex;}public void DohomeWork(){System.out.println(this.name+"正在写作业");}
}

这里顺便说一下this是什么,this代表为调用者的地址值,如Student studen = new Student("zhangsan",10,"男");其this就代表者student的地址值,当然student.DonhomWork()其中的this也代表student的地址值,毕竟是student调动的嘛,至于为什么要写this,其实是为了避免参数和成员变量的名字相同而导致赋值错误或其他错误,比如如果构造方法中的this被去掉的话,那么其中赋值就是参数自己赋值给自己,而成员变量没有被赋值的后果,因此this的作用非常重要。

        每个类都必须要有构造方法,但是有时我们会看到一些类没有构造方法,这是怎么回事呢?其实在idea中,如果我们没有给类创建构造方法,那么它就会自动给该类创建一个无参的构造方法,就是上面的构造方法没有参数,同时主体没有任何语句的方法。但是一旦我们创建了一个构造方法,那么它就不会给我们生成默认的构造方法,这就是帮无不帮穷,因此当我们只创建了有参的构造方法,那么我们就不能在创建对象的时候不传参,因为没有这个方法。那么我在创建对象的时候突然想用别的构造方法怎么办?哈哈哈,这就要靠this了,因为this是对象的地址值,因此this可以和对象一样,通过(.)来访问类中的内容,如this.DohomeWork(),this.age等,并且它可以调用构造方法,不过对象是不能的,你不要认为student也能调用构造方法,而它的调用方法是直接在后面接(),里面是参数。如this(),这调用的就是无参构造方法,这个是只能放在构造方法中,并且只能放在第一行,不然就会报错。

public Student(String name, int age, String sex) {this();this.name = name;this.age = age;this.sex = sex;
}

如果我在两个构造函数互相调用它们的构造方法,那岂不是死循环了?应该有人会问的吧?如果真有人这么想的话,那么我只能说,你可真是个小机灵鬼,不过在idea中如果出现这种状况,人家是直接给你报错的,这波人家是在大气层。

        如果成员变量没初始化的话会怎样?我们都知道局部变量如果没有初始化的话,在Java中会报错,那么类中的成员变量呢?它们不会报错,那么它们所存的数据是什么?每个类型的数据的都不一样。byte和short和int都是0,long是0L,boolean是false,float是0.0f,double是0.0,reference是null,char是'\u0000'。

        那么到现在,对象的初始化有几种方法呢?一种是创建的时候通过构造方法来初始化(就是上面的那种),一种是就地初始化,也就是直接在里面初始化:

public String name = "zhangsan";
public int age = 10;
public String sex = "男";

但这样有一个弊端,那就是以后创建对象时,成员变量里的值是固定的(如果你没使用构造方法去初始化的话)。

http://www.jmfq.cn/news/4872961.html

相关文章:

  • 个人域名 公司网站/百度下载应用
  • 做龙之向导网站有用吗/南京seo域名
  • 个人网站用wordpress吗/免费建站的网站有哪些
  • 网站建设及发展/湖南专业关键词优化服务水平
  • 公司网站建设开发维护工作总结/搜狗站长
  • 购买域名网/郑州seo外包
  • 给宝宝做辅食的网站/百度网页版怎么切换
  • 开发网站和电脑软件的区别/百度收录技巧
  • 制作简易网站/品牌设计
  • 南京电商网站开发/个人发布信息的免费平台
  • 建设优秀企业网站/营销策划书案例
  • 用python做web的网站/关键词查找网站
  • 单页网站如何做/刚刚北京传来重大消息
  • 海南人/简述搜索引擎优化
  • jsp网站开发关键技术/申请网站域名要多少钱
  • 网站总体设计方案/厦门网站外包
  • 手机网站怎么布局/网络营销专家
  • 做动态网站用什么软件/百度seo关键词排名查询
  • 小偷程序做的网站能用吗/西安自动seo
  • 南京做网站优化公司/视频号的网站链接
  • 湖北专业网站建设大全/广告营销策划方案模板
  • 自己做网站app/优化网站seo方案
  • 做互联网网站需要什么资质吗/公司企业网站开发
  • 电影网站开发PPT模板/搜索引擎优化的七个步骤
  • 安装wordpress注意什么/关键词优化的五个步骤
  • 做门的网站建设/google谷歌
  • 长沙网站建设去哪好/中国最厉害的营销策划公司
  • 杭州软件开发制作/搜索引擎优化的定义
  • 如何做网站调研/如何利用网络广告进行推广
  • 烟台网站公司/手机如何制作网页