zoukankan      html  css  js  c++  java
  • 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("吃");

                      }

                  }

  • 相关阅读:
    Cannot run program "/home/mohemi/Program/adt-bundle-linux-x86_64-20130729/sdk//tools/emulator": error=2, 没有那个文件或目录
    在Ubuntu里部署Javaweb环境脑残版
    ios 内存管理 心得
    关于Servlet的PrintWriter 中文乱码问题
    流的对拷
    什么是javaBean
    ios 页面传值4种方式(四) 之通过delegate(代理)
    ios 页面传值4种方式(一) 之全局变量
    Block
    UIView动画学习笔记
  • 原文地址:https://www.cnblogs.com/catcoffer/p/8995919.html
Copyright © 2011-2022 走看看