Java类与对象的学习

面向对象

  • 面向对象的程序设计有3个主要特性:封装性、继承性、多态性。

类与对象

  • 在面向对象中类和对象是最基本、最重要的组成单元。
  • 类是表示一个客观世界某类群体的一些基本特征抽象,基本组成单元有成员属性和方法,成员属性主要保存对象的具体特征,实际上一个成员属性就是一个变量;方法用于描述功能。
  • 定义类需要使用class关键字定义。
  • 对象是一个个具体的、可以操作的事物。
  • 将类具体到对象。
类名称 对象名称=new 类名称();
类名称 对象名称=null;
对象名称=new 类名称();

成员属性封装

  • 面向对象的第一大特性指的是封装性,封装性最重要的特点就是内部结构对外不可见。
  • 利用private实现成员属性的封装处理,一旦封装之后,是最不允许外部对象直接访问对象属性的,此时的访问需要按照Java的开发标准定义setter()getter()方法处理。
class Person{
	private String name;
	private int age;
	public void tell() {
		System.out.println("姓名:"+name+"、年龄:"+age);
	}
	public void setName(String tempName) {
		name=tempName;
	}
	public void setAge(int tempAge) {
		if(tempAge>0&&tempAge<250)
			age=tempAge;
	}
	public String getName() {
		return name;
	}
	public int getAge() {
		return age;
	}
}
public class JavaDome2 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Person per=new Person();
		per.setName("Yang");
		per.setAge(-22);
		per.tell();

	}

}
姓名:Yang、年龄:0

构造方法与匿名对象

  • 构造方法是在类中的定义一种特殊方法,在一个类使用关键字new实例化新对象时默认调用,主要功能时完成对象的初始化操作。
  • 构造方法的名称和类名称保持一致。
  • 构造方法不允许有返回值类型名称。
  • 对象实例化操作一定需要构造方法的存在,所以如果在类没有明确定义构造方法的话,则会自动生成一个无参数并且无返回值的构造方法。
  • 构造方法可以进行重载,方法重载只需要考虑参数的个数和类型,方法名称一定要和类名称保持一致。
  • 在对象实例化定义格式中,关键字new的主要功能是进行堆内存空间的开辟,而对象的名称是为了对该堆内存的引用,这样方便使用堆内存同时防止其变成垃圾空间,也就是说对象真正的内容是在堆内存里面,有了构造方法就可以在堆内存开辟的同时进行对象实例化处理,这样即便没有栈内存的指向,该对象也可以使用一次,而对于这种没有指向的对象叫匿名对象。

this关键字

  • this是描述3种结构调用的关键字,当前类中的方法:this.属性。当前类中的方法:this()、this.方法名称()。描述当前对象。
class Person{
	private String name;
	private int age;
	public Person(String name,int age) {
		this.name=name;
		this.age=age;
	}
	public void tell() {
		System.out.println("Name:"+this.name+",Age:"+this.age);
	}
}
public class JavaDome2 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Person per=new Person("Yang",22);
		per.tell();
	}

}

static关键字

  • 如果类中的某个属性定义为公共属性,则可以在属性前加上static关键字。
  • static定义的属性内容不在堆内存中保存,而是保存在全局数据区。
  • static定义的属性内容表示类属性,类属性可以由类名称直接调用。
  • static属性虽然定义在了类中,但是可以在没有实例化对象的时候进行调用。
  • static定义的方法不能调用非static的方法或属性。
  • 非static定义的方法可以调用static方法或属性。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值