zoukankan      html  css  js  c++  java
  • Java面向对象----继承概念,super关键字

    继承概念:

      继承需要符合的关系  is-a  , 父类通用更抽象,子类更特殊更具体

    类之间的关系

    • 继承体现
    • 组合体现
    • 实现接口体现

    继承的意义

       代码重用

      体现不同抽象层次

    extends关键字

    Super关键字

      代表的是父类的对象的引用

    package com.tanlei.newer;
    
    public class TeachersDemo {
       public static void main(String[] args) {
    	B b=new B();
    	b.showB();
    }
    }
    
    class  A{
    	public A() {
    		System.out.println("a的构造方法");
    	}
    	public  void  showA() {
    		System.out.println("A");
    	}
    }
    
    class  B extends A{
    	
    	public B() {
    		super();//调用父类无参的构造方法,可以省掉
    		System.out.println("b的构造方法");
    	}
    	
    	public  void  showB() {
    		System.out.println("B");
    showA();//super.showA();
    } }

    方法重写(override)  

      相同名称,参数列表相同,返回值相同

    final关键字

    变量用了就是常量(常量一般和static共用)

    final修饰了类的话不能被继承

    final修饰了方法不能被重写

    package com.tanlei.newer;
    
    public class FinalDemo {
       public static void main(String[] args) {
    	AA aa=new AA();
    	aa.shownum1();
    	aa.shownum2();
    	BB bb=new BB();
    	bb.shownum2();
    }
    }
    
    //常量类是不能被继承的,final用在引用变量上,代表此引用变量,只能引用一开始所引用的对象,中途不能改变指向
    /*final*/ class  AA{
    	public final int  number1=1;
    	public final int number2=2;
    	
    	public  void  shownum1() {
    		//number1++;//常量是不能被修改的
    		System.out.println(number1);
    	}
    	//子类不能对父类中的常量方法重写
    	public /*final*/ void  shownum2() {
    		System.out.println(number2);
    	}
    	
    }
    
    
    class BB extends AA{
    
    		
    	public  void  shownum2() {
    		System.out.println(number2);
    	}
    	
    }
    

     

  • 相关阅读:
    vim python extension
    aws msk
    Install python3
    sns
    inventory
    批量添加监听端口
    template screen
    DNS name
    add jar and proxy repo
    模型诊断论文心得
  • 原文地址:https://www.cnblogs.com/tanlei-sxs/p/9941264.html
Copyright © 2011-2022 走看看