Java 的语言特性


Java 的语言特性

1. 封装:权限控制

1)概念:将类的某些属性、信息封装在类的内部,不允许外部直接访问,而是通过类提供的方法来对类内部的信息进行访问或操作。

2)好处

  • 安全性:类内部的信息不允许直接访问。
  • 高内聚:体现在对数据的操作上,类内部数据的操作由自己完成,不允许外部干涉。
  • 低耦合:体现在对方法的调用上,外部通过对类的提供的方法来操作内部数据,也可以对方法进行扩展和修改。
  • 复用性:创建当前类的多个对象时,得以体现。

3)关键字
权限修饰符 (权限由大到小)

  • public:类内部的成员是公开的,其他所有类都可以访问
  • protected:只有父类和继承了自己的子类才能访问父类保护起来的成员
  • default 无修饰符:访问范围仅限于一个package包内
  • private:只有当前类才能访问

对象使用

  • this:封装对象的属性时,会用到的关键字,this指的是当前对象
    获取当前对象的属性:this.属性
    调用当前对象的方法:this.方法

内部类:是相对外部类而言的,外部类的里面还有一个类,关键词是inner。
内部类使得同一个包内的其他类访问不到内部类的数据;内部类的方法可以访问到外部类的所有数据,包括private私有数据,因为内部类相当于是“自己人”。

2. 继承 extends:父类重写

1)概念:从已有的类派生出新的类,已有类的数据属性和方法派生类都有,而且还能对已有类进行扩展。二者关系:子类-父类,也就是派生类-超类。
子类继承父类后,可以扩充新的属性(也可以用不扩充),例如:父类Person的属性有name和gender,子类Student又可以扩充学号student number这个属性。
2)限制

  • 单继承:一个子类只能继承一个父类。
  • 隐式继承:对于非private的属性、方法可以直接操作;private的属性、方法不能直接使用,例如有一个private的属性value,可以通过set()、get()方法来间接操作,而不能直接使用。
  • 子类实例化:默认先执行父类的构造,然后再调用子类的构造方法。

3. 多态:方法重写、重载

1)概念:可以理解成,在实现某个接口或子类继承父类的时候,重写接口的某个方法或父类的某个方法。
举例子:刷题的时候用到的比较多的就是对排序sort()方法的重写了,List实例化了两个对象:身高list、体重list,身高递增排序、体重递减排序,二者都需要重写sort方法来分别实现递增递减。
2)优点:可以让很多设计模式得到更好、更灵活地使用。

4. 其他的语言特性

  • 面向对象
  • 健壮性
  • 跨平台/可移植性:一次编写,导出运行
  • 分布式
  • 多线程
  • 高性能
  • 简单性
  • 安全性
  • 动态
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值