构造方法和匿名对象

42 篇文章 0 订阅

构造方法和匿名对象

1,声明并实例化对象,这时候实例化对象中的属性没有任何数据
2,需要通过setter方法为类中属性设置内容。
传统实例化对象

class Person{  //定义一个类
  private  String name;  //人员的姓名
   private int age ;  //人的年龄
   public void tell(){
   System.out.println("姓名:"  + name + ",年龄:" + age);     
      public void setName(String n){
    name = n;
    }
    public void setAge(int a){
    age = a ;
    }
    piblic String getName(){
return name;
}
      public int getAge(){
    return age;
}
        }
   }
   public class JavaDemo{     //主类
   public  static void main (String args[]{
   //1,对象初始化准备
   Person per = new Person ();  //声明并实例化对象
   per.name = "张三“;//在类外部修改属性
   per.age = 18;     //在类外部修改属性
   //对象的使用
   per.tell();     //进行方法的调用
   }

现在如果类中有8个属性,那么需要用8个setter方法来进行内容设置,Java中考虑到对象问题,专门提供构造方法:可以通过构造方法来实现实例化对象中属性 初始化处理。new关键字。
Java中构造方法定义要求:
*构造方法名称必须与类名称保持一致;
*构造方法不允许设置任何的返回值类型,既:没有返回值定义;
*构造方法是在使用关键字new实例化对象的时候自动调用的
定义构造方法:

class Person{  //定义一个类
  private String name;  //人员的姓名
   private int age ;  //人的年龄
   //方法名称与类名称相同,并无返回值类型
   public Person (String n,int a){     //定义有参构造
   name = a ;       //为类中的属性赋值(初始化)
   age = a;            //为类中的属性赋值(初始化)
   }
   public void tell(){
   System.out.println("姓名:"  + name + ",年龄:" + age);     
        }
   }
   public class JavaDemo{     //主类
   public  static void main (String args[]{
   //1,对象初始化准备
   Person per = new Person ("张三"18);  //声明并实例化对象

   //对象的使用
   per.tell();     //进行方法的调用
   }

Person per = new Person():
Person 主要是定义对象的所属类型,类型决定了你可以调用的方法;
per 实例化对象的名称,所有的操作通过对象来进行访问;
new 开辟一块新的堆内存空间
Person(“张三”,18) 调用有参构造 Person()调用无参构造
在Java程序里考虑到程序结构的完整性,所有的类都会有提供构造方法,这个构造方法是在编译的时候自动创建,在类中有明确的构造方法,编译时就不会自动创建。

为什么构造方法上不允许设置返回值类型?
如果构造方法使用void,那么构造方法就会和普通方法结构完全相同,编译时会统一当作普通方法处理。
构造方法和普通方法的区别:
构造方法是在类对象实例化的时候调用,而普通方法是类对象实例化产生后调用的

构造方法的重载:参数类型及个数

setter修改属性数据

定义对象的名称:类名称 对象名称 = null
实例化对象: 对象名称 = new 类名称()

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小东子李

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值