• 首页

  • 归档

  • 标签

  • 分类

  • 友链
M S B l o g
M S B l o g

ms

获取中...

12
13
java
总结

java的三大特性

发表于 2019-12-13 • java • 被 897 人看爆

Java的三大特性

Java的三大特性分别是封装、继承、多态。

一、封装

封装是面向对象编程的核心思想。将对象的属性和行为封装起来,其载体是类,类通常对用户隐藏其实现细节,这就是封装的思想。

封装的好处

  • 良好的封装能够减少耦合
  • 类的内部的结构可以自由修改
  • 可以对成员进行更精确的控制
  • 避免了外部操作对内部数据的影响,提高了程序的可维护性

例如:

	public class User {
		//对用户属性的封装,一个用户的id、姓名、年龄都是这个用户的私有属性
		private Integer id;
		private String name;
		private Integer age;
		//对外提供访问这个用户类的接口,setter(),getter()
		public Integer getId() {
			return id;
		}
		public void setId(Integer id) {
			this.id = id;
		}
		public String getName() {
			return name;
		}
		public void setName(String name) {
			this.name = name;
		}
		public Integer getAge() {
			return age;
		}
		public void setAge(Integer age) {
			this.age = age;
		}
	} 

为用户提供对象的属性和行为的接口,用户通过这些接口使用这些类,无须知道这些类内部是如何构成的。

二、继承

Java继承是面向对象的最显著的一个特征。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。JAVA不支持多继承,单继承使JAVA的继承关系很简单,一个类只能有一个父类,易于管理程序,父类是子类的一般化,子类是父类的特化(具体化)

继承的基本思想是基于某个父类的扩展,制定出一个新的子类,子类可以继承父类原有的属性和方法,也可以增加原来父类所不具备的属性和方法,或者直接重写父类中的某些方法。

例如:分别创建Test类和Test2类,再Test类中编写成员方法doSomething()和doIt(),使Test2类继承Test类,重写父类的这两个方法和构造方法,并新增doSomethingnew()方法。其中Test2类的构造方法中使用super关键字调用父类的构造方法和成员方法

class Test{
	public Test(){//构造方法

	}
	protected void doSomething(){//成员方法
	
	}
	protected Test doIt(){//方法返回值类型为Test类型
		return new Test();
	}
}

class Test2 extends test{//继承父类
	public Test2(){//构造方法
		super();//调用父类的构造方法
		super.doSomething();//调用父类成员方法
	}
	public void doSomethingnew(){//新增方法

	}
	public void doSomething(){//重写父类方法
	
	}
	public Test2 doIt(){//重写父类方法,方法返回值类型为Test2类型

	}
}

子类可以连同初始化父类构造方法来完成子类初始化操作,既可以再子类的构造方法中使用super()语句调用父类的构造方法,也可以在子类中使用super关键字调用父类的成员方法。

三、多态

将父类对象应用于子类的特征就是多态。多态的实现并不依赖具体类,而是依赖与抽象类和接口。

抽象类:

使用abstract关键字定义的类就是抽象类,而使用这个关键字定义的方法称为抽象方法。

抽象方法没有方法体,这个方法没有任何意义,除非它被重写,而承载这个抽象方法的抽象类必须被继承,实际上抽象类除了被继承之外没有任何意义。抽象类被继承后需要实现其中所有的抽象方法

接口:

接口时抽象类的延伸,可以将它看作是纯粹的抽象类,

接口中的所有方法都没有方法体。接口中的方法必须被定义为public或者abstract形式,其他修饰权限不被Java编译器认可,不写的话默认为public abstract。在接口中定义的任何字段都自动是static和final的。

多态的实现方式

  • 方式一:重写

  • 方式二:接口

    1. 生活中的接口最具代表性的就是插座,例如一个三接头的插头都能接在三孔插座中,因为这个是每个国家都有各自规定的接口规则,有可能到国外就不行,那是因为国外自己定义的接口类型。

    2. java中的接口类似于生活中的接口,就是一些方法特征的集合,但没有方法的实现。具体可以看 java接口 这一章节的内容。

  • 方式三:抽象类和抽象方法

多态的理解就是同一种事物,就不同的表现形态

分享到:
java策略模式
初始ArrayList
  • 文章目录
  • 站点概览
ms

MSms

⚓️HelloWorld⚓️

QQ Email RSS
看爆 Top5
  • MyBatis-Plus分页查询 5,936次看爆
  • @Autowired与@Resource的区别 4,755次看爆
  • feign远程调用及异步调用丢失请求头问题 4,526次看爆
  • spring cloud中OpenFeign整合Sentinel启动报错 4,423次看爆
  • Certbot查看证书过期时间,手动续期以及自动续期 3,302次看爆

Copyright © 2025 ms · 湘ICP备20015239号

Proudly published with Halo · Theme by fyang · 站点地图