Java是面向对象的语言

面向对象语言的三大特征: 封装、继承、多态。

继承的特点: 1、子类继承父类后,子类可以拥有父类的属性和方法(必须是权限范围内的类)
2、子类继承父类后,子类可以添加自己的属性和方法,但是父类不可以调用子类的属性和方法。
3、子类可以在权限范围内的类中重写父类的方法。
父类代码示例:

  1. Public class People{
  2. Public String name//姓名
  3. Public byte age//年龄
  4. //有参构造器
  5. Public People(String name){
  6. This.name = name;
  7. }
  8. //无参构造器
  9. Public People(){
  10. }
  11. //普通方法
  12. Public void shopping(){
  13. System.out.println(“购物”);
  14. }
  15. Public void drink(){
  16. System.out.println(“喝茶”);
  17. }



子类代码示例:

  1. //男人类 继承人类(People)
  2. Public class Man extends People{
  3. //子类添加自己的属性
  4. Public double salary;//工资
  5. Public Man(){
  6. Super(“胡海峰”);//父类的无参构造方法
  7. }
  8. //重写父类的shopping方法
  9. @Override
  10. Public void shopping(){
  11. Super.shopping();//super:父类的对象
  12. System.out.println(“一次美好的购物体验”);
  13. }

重载(Overload)与重写(Override)的区别:

权限 返回值类型 名称 参数
重载(同一个类中的方法) 一样 不一样
重写(有继承关系的两个类中) 只能扩大不能缩小 必须一样 必须一样 必须一样

Java中的继承是单根继承,一个子类只能有一个直接父类。
默认创建的类继承Object,Object是所有累的父类(基类)。

Java中的权限修饰符:

Public(公共的) 在任何位置都可以使用
Protected(受保护的) 只能在同一包下使用,或者是子类中使用
缺省的(默认的) 只能在同一包下使用
Private(私有的) 只能在当前类文件下使用

子类在重写父类方法时,可以修改权限修饰符,但只能扩大,不能缩小。

封装

  封装就是将类的属性和行为结合成一个独立的相同单位,并隐藏类的内部细节,保证了程序和数据不受外部因素的干扰。
  代码示例:private String name;//私有属性(即封装)
   Private byte age;
  要调用封装类,需要使用set get 方法,set是赋值方法,get是取值方法;
代码示例: public void setName(String name) {//给name赋值
this.name= name+”肛夫”;
  }
//获取name属性
public String getName() {
return name;
   }

  属性是Boolean 类型时, 取值方法时is+属性名;
  

多态

  多态的本质是指父类的引用可以指向子类的对象,反之则不可以;
  格式:父类的变量 = 子类的对象;
  Java多态有两个多态:1、静态多态,也叫编译时多态,通过方法重载实现;
  2、动态多态,也叫运行时多态,通过对象的多态性实现
  一个引用类型变量如果声明为父类的类型,但实际指向的是子类对象,那么该变量就不能在访问子类中独有的属性和方法;
  当子类中重写了父类的方法,和父类拥有同名属性、方法时,方法将按照对象的运行时类型调用,属性将按照对象的声明时类型调用;