• java基础 第十章(this,继承,重写和重载的区别)


    一、this

        1.指向当前对象

           (1)静态方法中不能this调用,因为静态方法是共享的。

           (2)静态方法的调用:类名.方法名();

                    非静态方法的调用:new 类类型.方法名();

         2.this指哪个对象调用了这个方法,this就指向哪个方法。

         3.类中每个成员变量都有this指向,当局部变量和成员变量重名的时候,必须要加this,不叫this,局部变量给局部变量赋值

            例:class  Student{

                        private int num;

                        public student( int num ){

                            this.num = num  // 不加this  num = num

                        }

                   }

    二、继承

           1.表示层级关系,下一级完全拥有上一级的属性。

           2.继承是类与类之间的关系。

           3.继承只能单继承。

           4.继承就是向上抽取的过程

           5.继承的关键字 extends

            例:class gFather{

                        public void eat(){

                            System.out.println("会吃饭");

                        }

                        public void shuai(){

                            System.out.println("长得很帅");

                        }

                   }

                   class Father extends gFather{

                        public void height(){

                             System.out.println("长得高");

                        }

                        public void money(){

                             System.out.println("有钱")

                        }

                  }

                  class Son extends Father{

                        public void Studey(){

                             System.out.println("学习好");

                        }

                  }

                  public class test{

                        public static void main(Striing[] args){

                             Son son1 = new Son();

                             Son1.eat();

                             Son1.money();

                             Son1.study();

                        }

                  }

            6.java 虽然没有多继承,但是可以实现多重继承。

    三、重写和重载的区别。

           补充:

                    覆盖 ——> 前提条件:要有继承

                                                         方法名,返回值,参数列表要和父类一模一样

                                                         子类权限 >= 父类

                    权限 ——> public > protected(默认)

                                       注意:private,加上就等于封装了,外界访问不到。

           1.重载:方法名相同,参数列表不同,在同一个类中。

           2.重写:是继承的关系,要求子类覆盖父类的方法,而且方法名,返回值,参数列表一样,但控制范围子类 >= 父类

           例:class Animal{

                       public void eat(){

                            System.out.println("吃")

                       }

                  }

                  class pig extends Animal{

                      public void eat(){           // 改为  public void eat ( int a ){ 就有重载了

                          System.out.println("猪吃");

                      }

                      //还有
                      public void eat(){

                          System.out.println("吃");

                      }

                  }

  • 相关阅读:
    为啥负利率国债有人抢着买?因为时代变了
    微增长时代
    U盘插入电脑后图标是灰色的,打开提示“请将磁盘插入驱动器”
    计算shell 脚本的执行时间
    win10系统应用商店打开后无法联网 代码: 0x80131500 的解决办法
    Jetbrains家的软件都可用的激活码-pycharm
    postman中x-www-form-urlencoded与form-data的区别
    升级Gogs版本
    上海对售价超1499元的茅台酒即没收并另处罚款
    提高收入的根本途径
  • 原文地址:https://www.cnblogs.com/catcoffer/p/8995919.html
Copyright © 2020-2023  润新知