zoukankan      html  css  js  c++  java
  • 面向对象三大特征之继承

    继承 ; A extends B;

    就代表A继承了B; B类作为一个父类, A类作为一个子类;

    ​定义: 子类继承父类的属性和方法;子类可拥有自己独有的属性和方法;

    package com.lv.ext;
    
    //生物
    public class Organisa {
        
        String name;
        
        public void huozhe(){
            
        }
    }
    package com.lv.ext;
    
    //动物
    //Animal extends Organisa 动物类继承生物类
    //构造函数不能继承
    public class Animal extends Organisa {
        
        //私有的属性
        private int number;
        
        //私有的方法
        private void test(){
            
        }
        
        public Animal(){
            System.out.println("这个是Animal的构造方法");
        }
        
        public Animal(String name){
            this.name=name;
            System.out.println("这个是Animal带参数的构造函数");
        }
        
        public void eat(){
            
        }
        
        public void sleep(){
            
        }
    }
    package com.lv.ext;
    //
    public class Snake extends Animal {
        
        
        //能不能吧Animal的构造方法继承过来?  不能
        
        public Snake(){
            
        }
        
        
        public void pa(){
            
        }
    }

    测试类:

    package com.lv.ext;
    
    public class Test1 {
    
        public static void main(String[] args) {
            
            Snake snake=new Snake();
            
            //能使用snake.name?
            snake.name="tom";
            
            //这个方法是从的间接父类继承的
            snake.huozhe();
            
            //从父类继承2个方法
            snake.eat();
            snake.sleep();
            
            //并且有自己独有的方法
            snake.pa();
            
            //私有的属性和方法不能被继承
            //snake.number;//父类私有的属性
            //snake.test();//父类私有的方法
            
            //子类继承父类的所有的属性和方法;子类可以有自己独有的属性和方法
        }
    
    }

    3种不可继承:

    ​ 1: 构造方法;

    ​ 2: private修饰的属性和方法;

    ​ 3: 父子不在同一个包中,default修饰符的属性和方法;

    继承时,创建子类对象;

    ​ 定义: 在具有继承关系的对象创建中,构建子类对象会优先构建父类对象

    package com.lv.son;
    
    //生物类
    public class ShengWu {
        
        //生物的构造函数
        public ShengWu(){
            System.out.println("ShengWu的构造函数");
        }
    
    }
    package com.lv.son;
    
    public class Animal extends ShengWu{
    
        public Animal(){
            System.out.println("Animal的构造函数");
        }
    }
    package com.lv.son;
    
    public class Fish extends Animal{
    
        public  Fish(){
            System.out.println("Fish的构造函数");
        }
    }

    测试类

    package com.lv.son;
    
    public class Test {
    
        public static void main(String[] args) {
            
            Fish  fish=new Fish();
            
            
        }
    
    }

    访问修饰符

     本类 同包 非同包子类 其他

    private √ × × ×

    default √ √ × ×

    protected √ √ √ ×

    public √ √ √ √

  • 相关阅读:
    使用ab进行页面的压力测试
    apache http server2.2 + tomcat5.5 性能调优
    php Try Catch多层级异常测试
    用flask实现的添加后保留原url搜索条件
    会议室预定设计
    day4
    day3
    day2
    day1
    redis介绍以及安装
  • 原文地址:https://www.cnblogs.com/dabu/p/12328113.html
Copyright © 2011-2022 走看看