走进Java(九):面向对象(上)

一.面向对象的概念

三大特性:封装、继承、多态

二.类与对象

类的定义:

class 类名{
	属性类型 成员变量名;
	......
	//成员方法
	修饰符 返回值类型 方法名(参数列表){
		方法体;
}
}
package com.xdl.java.pkg02;

public class Person {
	// private 私有的
	// 声明姓名
	private String name;
	// 声明年龄
	private int age;

	// 设置公共访问的方法
	public void setName(String str) {
		name = str;
	}

	public String getName() {
		return name;
	}

	public void setAge(int n) {
		// 验证年龄
		if (n >= 0 && n < 200) {
			age = n;
		}
	}

	public int getAge() {
		return age;
	}

	// 声明方法
	public void say() {
		System.out.println("姓名:" + name + ",年龄:" + age);
	}
}

对象的创建与使用

对象是根据类创建的。在Java中,使用关键字new来创建一个新的对象。创建对象需要以下三步:

  • 声明:声明一个对象,包括对象名称和对象类型。
  • 实例化:使用关键字new来创建一个对象。
  • 初始化:使用new创建对象时,会调用构造方法初始化对象。

对象创建:类名(类型) 对象 = new 类名();

package com.xdl.java.pkg02;

public class TestPerson1 {
	public static void main(String[] args) {
		// ctrl+1
		Person p = new Person();
		System.out.println(p);

		// JVM初始化时做的,零值(根据数据类型,分配初始值)
		// null
		System.out.println(p.name);
		// 0
		System.out.println(p.age);

		p.say();
	}
}

类的封装

封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。

要访问该类的代码和数据,必须通过严格的接口控制。

封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。

适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。

 package com.xdl.java.pkg02;

public class TestPerson2 {
	public static void main(String[] args) {
		Person p = new Person();
		// p.name = "张三";
		// p.age = -18;

		p.setName("张三");
		p.setAge(-18);

		p.say();
	}
}

三.构造方法

构造方法的定义

  • 做一些默认初始化的操作
  • new对象时,调用构造方法
  • 构造方法有三个特征
    1. 构造方法方法名与类名相同
    2. 构造方法没有返回值类型
    3. 构造方法不能使用return返回一个值
package com.xdl.java.pkg03;

public class Person {
	// 构造方法
	public Person() {
		System.out.println("构造方法被调用了");
	}
}
package com.xdl.java.pkg03;

public class TestPerson1 {
	public static void main(String[] args) {
		// 定义个Person
		Person p = null;
		System.out.println("实例化对象");
		p = new Person();
	}
}

构造方法的重载

  • 构造方法也可以重载
  • 一定要有空参构造方法
package com.xdl.java.pkg03;

public class Person2 {
	private String name;
	private int age;

	// 重载的构造方法
	public Person2(String str) {
		name = str;
	}

	public Person2(String str, int n) {
		name = str;
		age = n;
	}

	public void say() {
		System.out.println("姓名:" + name + ",年龄:" + age);
	}

}
package com.xdl.java.pkg03;

public class TestPerson2 {
	public static void main(String[] args) {
		Person2 p1 = new Person2("张三");
		Person2 p2 = new Person2("李四", 18);
		p1.say();
		p2.say();
	}
}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值