Java面向对象2----构造方法和匿名对象
Posted iostreamzl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java面向对象2----构造方法和匿名对象相关的知识,希望对你有一定的参考价值。
构造方法的定义:
- 类中必须至少有一个构造方法,默认无参构造
- 名称与类名称保持一致
- 不设置任何的返回值类型
- 构造方法是是实例化new一个对象的时候自动调用的
如果自己定义了构造方法,则不会自动生成无参构造方法,构造方法的定义可以根据自己的需求定义多个,类似于方法的重载。
构造方法的使用示例
class Person
private String name; // 人的属性名字
private int age; // 人的属性年龄
// 定义构造方法,方法名与类名一致,且无返回值
public Person(String n, int a)
name = n;
age = a;
// 定义一个参数的构造方法
public Person(String n )
name = n;
public void showInfo()
System.out.println("name: " + name + "\\nage: " + age);
public class Demo
public static void main(String[] args)
Person person1 = new Person("demo", 12); // 实例化对象
person1.showInfo();
Person person2 = new Person("demo2");
person2.showInfo();
此时我们自己定义了构造方法,则不会自动生成无参构造,如果实例化使用无参构造,就会报错。如果想要我们的类拥有无参构造,就需要自己再次定义。
public class Demo
public static void main(String[] args)
Person per = new Person();
per.showInfo();
匿名对象的使用
来观察我们的对象定义过程
类名 对象名 = new 类名();
前面部分告诉我们声明的对象是哪个类的实例化,以及对象的名称,方便后续的使用。
等号后面的部分用于对象的实例化,这部分包含对象的所有数据,实例化后会将该部分内容的地址给对象名,然后通过对象名来v操作该部分数据。
而匿名对象只有等号的后半部分。匿名对象只能使用一次,因为没有指向该地址的变量名,使用后该匿名对象会被Java回收机制GC回收。
示例:匿名对象的使用
public class Demo
public static void main(String[] args)
new Person("匿名对象", 66).showInfo();
匿名对象只会简化部分的代码,具体使用与否看个人习惯。
以上是关于Java面向对象2----构造方法和匿名对象的主要内容,如果未能解决你的问题,请参考以下文章