【Java基础】(十一)面向对象的三大特性

本文详细介绍了Java编程中的面向对象特性,包括封装性、继承和多态。封装性强调隐藏实现细节,通过访问修饰符控制属性和方法的可见性。继承允许子类继承父类的属性和方法,子类可以重写父类方法以实现自定义行为。多态则是子类对象可以表现出不同的形态,允许父类引用指向子类对象,提供了编译时和运行时的灵活性。文章通过实例代码展示了如何在Java中实现这些概念。
摘要由CSDN通过智能技术生成


面向对象的三大特性,分别为:封装、继承、多态。

一、封装性

1. 封装性概念

简言之就是隐藏该隐藏的,暴露该暴露的。

一般情况下,我们将我们类中的属性设为private,方法设为public。并为private属性提供set和get方法。

事实上,对象的出现就是为了封装数据的,每个对象都封装自己的数据。

2. 修饰符的范围

修饰符的范围可见下表:
在这里插入图片描述

3. static修饰符

如果说,封装性是我们每个对象自私、独享的一面,那么static便是对象无私、共享的一面。
static可以修饰类中的属性和方法。被static修饰的属性和方法,是所有该类的对象所共享的。这个共享表现在两个方面:

  1. 被static修饰的属性的值,在所有变量中共享,也就是说,你改变一个对象中的static属性时,其他的对象中的该属性值也会随着改变。
  2. 即使在还没有创建该类的对象时,就可以通过类名.属性名,或类名.方法名()的方式访问static修饰类的属性。也正是因为这样,static类型的方法只能访问static类型的属性,因为在对象还未创建时,非static类型的属性还不存在。

正是因为static修饰的方法可以在没有类对象的时候被执行,所以我们的main方法需要被static修饰。

新建一个Person类,添加static类型的属性(并创建其set、get方法)和方法:

package com.daw.test2;

public class Person {
   
	private String id;
	private String name;
	private int age;
	//static修饰变量
	static String nation;
	
	//static修饰方法
	public static void test() {
   
		System.out.println(nation);
		//System.out.println(id);	//static的方法只能访问static的对象
	}
	
	//方法
	
	public String getId() {
   
		return id;
	}
	public void setId(String id) {
   
		this.id = id;
	}
	public String getName() {
   
		return name;
	}
	public void setName(String name) {
   
		this.name = name;
	}
	public int getAge() {
   
		return age;
	}
	public void setAge(int age) {
   
		this.age = age;
	}
	public String getNation() {
   
		return nation;
	}
	public void setNation(String nation) {
   
		this.nation = nation;
	}
}

编写类Test2来尝试访问static修饰的对象和方法

package com.daw.test2;

public class Test2 {
   

	public static void main(String[] args) {
   
		//在未创建Person类的对象时,即可访问static修饰的属性
		Person.nation = "中国";
		System.out.println(Person.nation);
		Person.test();
		System.out.println("******************"<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值