个人Java笔记01(类和对象)

Java面向对象,学习概念总结

类和对象

概念:
类:具有相同属性和方法的对象的集合。
对象:具有某种属性,且有特定方法(行为)的实体。(万物皆对象)
方法:对象的行为操作。

例子:创建一个类,其中包括该类所表示对象的基本属性和行为

package test;//包

public class Dog{//类
	//特征属性:
	String name;//名字
	int age;//年龄
	String sex;//性别
	
	//方法,对象需要进行的操作
	//例行为:吃
	public void eat() {
		System.out.println("狗狗爱吃狗粮");
	}

}

测试类

package test;

public class Test {
	public static void main(String[] args) {
		Dog dog =new Dog();//无参构造器,
		//构造对象:类名 对象名 =new 类名;
		dog.eat();//对象的方法引用;
	}
}

结果:狗狗爱吃狗粮

成员变量和局部变量

成员变量:类所表现的对象的属性;可以供对象的方法使用。
定使用时未初始化的话,有默认值,0或null

局部变量:方法中的变量,仅供该方法使用.
使用前必须初始化;

例子:

package test;//包

public class Dog{//类
	//特征属性:
	String name;//名字
	int age=3;//年龄
	String sex;//性别
	
	//方法,对象需要进行的操作
	//例行为:吃
	public void eat() {
		String dinner;//局部变量
		int age=4;//局部变量可以和成员变量的名字相同;
		System.out.println(age);
	}

}

测试代码及结果:

package test;

public class Test {
	public static void main(String[] args) {
		Dog dog =new Dog();//无参构造器,构造对象;
		dog.eat();
		System.out.println(dog.age);
	}
}
4
3

构造器重载

构造器:分为无参构造器和有参构造器,一般情况在创建类是会默认有一个无参构造器。
例子:

package test;//包

public class Dog{//类
	//特征属性:
	String name;//名字
	int age=3;//年龄
	String sex;//性别
	public Dog() {//无参构造器(默认)
		
	}
	//构造器重载;//有参构造器
	public Dog(String name,int age) {
		this.name=name;
		this.age=age;
		
	}
	//方法,对象需要进行的操作
	//例行为:吃
	public void eat() {
		System.out.println("狗粮");
	}
	
}

此时我们可以直接将对象的属性参数在new对象时直接传入。
测试:

package test;

public class Test {
	public static void main(String[] args) {
		//Dog dog =new Dog();//无参构造器,构造对象;
		//dog.eat();
		Dog dog =new Dog("旺财",3);
		System.out.println(dog.name+dog.age);
	}
}

结果
旺财3

方法重载

和构造器重载类似,方法名相同,参数不同或者类型不同

package test;//包

public class Dog{//类
	//特征属性:
	String name;//名字
	int age=3;//年龄
	String sex;//性别
	public Dog() {//无参构造器(默认)
		
	}
	//构造器重载;//有参构造器
	public Dog(String name,int age) {
		this.name=name;
		this.age=age;
		
	}
	//方法,对象需要进行的操作
	//例行为:吃
	public void eat() {
		System.out.println("狗粮");
	}
	//方法重载
	public void eat(String time,String food) {
		System.out.println(food+" 进食时间:"+time);
	}

测试结果:

package test;

public class Test {
	public static void main(String[] args) {
		//Dog dog =new Dog();//无参构造器,构造对象;
		//dog.eat();
		Dog dog =new Dog("旺财",3);
		dog.eat();
		dog.eat("傍晚", "骨头");
	}
}

结果:

狗粮
骨头 进食时间:傍晚
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值