二.深入分析类与对象

本文介绍了Java面向对象编程的基础概念,包括属性封装以确保数据安全和便捷操作,通过`private`关键字限制访问,并提供`set`和`get`方法进行数据存取。接着讲解了构造方法的重要性,用于对象初始化,有参和无参构造方法的使用场景及调用方式。最后探讨了匿名对象的概念,展示了如何在不创建变量的情况下直接使用对象,以及其在参数传递和返回值中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.成员属性封装

一般来说方法是不用封装的,但是属性要封装,因为不进行封装就不具备安全性,还有调用更改也不太方便,如果更改的位置操作过多会导致其他位置所拿到的属性值不是当前更改好的。
接下里演示如何封装属性
用private修饰符

class Cat{

	private String name;
	private int age;

	public void setName(String name){
		this.name = name;
	}
	public String getNAme(){
		return name;
	}
	public void setAge(int age){
		this.age = age;
	}
	public int getAge(){
		return name;
	}	
}

这样就封装了两个属性
set开头的方法是用来进行属性赋值
get开头的方法用用来输出的
利用private修饰符将属性被调用的范围只能在当前类中,在由方法来进行属性的调用和赋值。

2.构造方法

构造方法是一个特殊的方法是用来初始化对象的,不能被static、final、synchronized、abstract和native修饰。构造方法不能被子类继承。

创建构造方法的要求:方法名与类名相同,没有返回值,创建多个构造方法时方法参数不能一致。

public class Cat{
	private String name;
	private int age;
	
	public Cat(String name, int age){
		this.name = name;
		this.age = age;
	}

	public Cat(){}
	
	public void setName(String name){
		this.name = name;
	}
	public String getNAme(){
		return name;
	}
	public void setAge(int age){
		this.age = age;
	}
	public int getAge(){
		return age;
	}	
}

有参构造方法:

public class Cat{
	public  String name;
	public  int age;
	
	public Cat(String name, int age){
		this.name = name;
		this.age = age;
		System.out.println("名字:"+this.name);
	}
}
class Test{
	public static void main(String[] arge){
		Cat cat = new Cat("小黄",13);
	}
}

输出结果:名字:小黄

初始化对象调用有参构造方法,方法有几个参数你就必须填几个参数才能初始化对象。

无参构造方法:

public class Cat{
	public  String name;
	public  int age;
	
	public Cat(){
		this.name = "大黄";
		System.out.println("名字:"+this.name);
	}
}
class Test{
	public static void main(String[] arge){
		Cat cat = new Cat();
	}
}

输出结果:名字:大黄

调用无参构造方法就和我们平常一样实例化对象就行了,如果我们没有创建构造方法,系统会默认创建一个无参构造方法,但是当我们创建了构造方法系统将不会默认创建无参构造方法了,这时我们创建的无参构造可以在里面添加代码块。

当初始化对象时,会把构造方法里的代码段都执行了

3.匿名对象

匿名对象就是没有变量名的new对象,可以当做参数或者返回值

new Cat();
这就是一个匿名对象,可以创建多个且不会报错但是会浪费空间.

一般做为参数和返回值。

class Test {
 public static void main(String[] args) {
         // 普通方式
         Cat sc = new Cat();
         input(sc);
         //匿名对象作为方法接收的参数
         input(new Cat());
     } 
     public static void input(Cat sc){
             System.out.println(sc);
    }
 }    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值