构造方法和匿名对象的使用

一.  构造方法:

1.  首先我们应该想到对象的产生过程:类名  对象名  =  new   类名();注意看后面有一个括号"()",这代表这是一个方法,什么方法?构造方法!

构造方法的定义格式:

class  类名称{

访问权限  类名称 (参数列表){

程序语句;

....................;//构造方法无返回值

}

}

由以上定义可知:

(1) 构造方法名必须和类名一样.

(2)构造方法不能设置声明任何返回值类型,只能设置访问权限.

(3)构造方法中不能使用return 返回一个值;(由(2)知道)

(4)构造方法可以为类中的属性初始化!

public class GouZhao1 {

public static void main(String[] args) {

ConsTest1 consTest = null;//声明对象

consTest = new ConsTest1("nishui",21);//实例化对象就是为其开辟堆内存空间,这时会自动调用构造方法

consTest.tell();

}

}

class ConsTest1{

String name;

int age;

public ConsTest1(String name,int age){//构造方法,初始化类中属性

this.name = name;

this.age = age;

}

public void tell(){

System.out.println("姓名:" + name +",年纪:" + age);

}

}

声明对象时,构造方法并没有被调用,只有当使用new关键字开辟堆空间是调用了构造方法.构造方法存放在全局代码区中.如下:

package Nsbc.club;

public class GouZhao {

public static void main(String[] args) {

ConsTest consTest = null;//声明对象

consTest = new ConsTest();//实例化对象就是为其开辟堆内存空间,这时会自动调用构造方法

}

}

class ConsTest{

public ConsTest(){

System.out.println("调用构造方法!");

}

}

注意:当我们没有定义构造方法时,则会自动生成一个无参的什么也不做的构造方法,每一个类中至少有一个构造方法.

如下:当我们没有定义构造方法时,则会自动生成如下构造方法:

class ConsTest{

public ConsTest(){


}

}

2.构造方法是可以重载的,他和普通方法重载一样,构造方法名称都和 类名一样,参数个数或者参数类型不同,不同的是构造方法并无返回值类型。

举例:

class GouTest{

String name;

int age;

public GouTest(){//无参构造方法

}

public GouTest(String name){//含有1个参数的构造方法

this.name = name;

}

public GouTest(String name,int age){//含有2个参数的构造方法

this.name = name;

this.age = age;

}

}

二.匿名对象的使用:

1.匿名:就是没有名字。 为什么要使用匿名对象?当我们定义的对象只使用一次的时候,为了方便操作,于是就定义了匿名对象.

举例:

public class NoName {

public static void main(String[] args) {

new ConsTest2("nishui",21).tell();//此为匿名对象调用tell()方法。

}

}

class ConsTest2{

String name;

int age;

public ConsTest2(String name,int age){

this.name = name;

this.age = age;

}

public void tell(){

System.out.println("姓名:" + name +",年纪:" + age);

}

}

由以上可知,匿名对象就是比之前的对象少了一个栈内存的引用关系.他只在堆内存中开辟空间.



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值