/*继承-java只有单继承
如果你创建了很多个class,但是之间有很多相同的成员变量和成员方法,修改的时候又要多处修改好麻烦,
此时就可以创建多一个类来存储这些重复的东西,统一管理。相当方便.
*/

/*
super方法
调用父类的构造方法
如果想调用带参数的父类构造方法,只需要使用super(...)即可.
如果需要调用同名的父类中的方法,使用super(). 即可.
*/

/*
注意:static修饰词无所谓是继承的还是现场实例化的,凡是用到我static所在类的,都只有唯一一个!
*/

/*
访问同名属性采用就近原则
    直接写就是访问当前的代码块
    this就是访问当前类中的属性
    supper访问父类中的属性
*/

/*
继承中的构造:通过构造子类对象的时候都会调用父类的构造方法,显式隐式
如果父类设置了有参数的构造方法,则必须用supper(...),系统不会默认调用一个

*/

/*
可以调用其他构造方法,使用this(...)即可
但是在子类又调用父类构造方法,又调用子类的另一个构造方法,是不可以的。
    this(..)和super(..)都必须要放在第一条语句中,所以不能!

*/

/*
重写方法
         (返回值 方法名 参数)三要素
只要子方法中有方法 ?? 和父类中的一样,则代表父类的方法被重写了,按照子类的为准
注意 1 不能重写父类中的private方法
     2 不能重写为权限更低的方法,例如public不能重写为private
*/

/*
重载方法 -

final修饰的是
类  :不能被继承的类
方法:不能被重写的方法
变量:不能被重新赋值 (常量)
    常量 : 字面值常量 子定义常量(final)

与重写方法不同的是,重写方法是在子类父类里边的,但是重载方法是在同一个类当中的
 参数  方法名  返回值
不一样  一样   不要求

*/

public class Learn06{
    public static void main (String[] as){
        Teacher tt = new Teacher();
        
        //System.out.println(tt.getName());
        
    }        
}

class Person{//父类
    private static String name;
    
    public Person(){
        System.out.println("hello");
    }
    public Person(String name){
        System.out.println(name);
        setName(name);
    }
    
    public void setName(String name){
        this.name=name;
    }    
    public String getName(){
        return this.name;
    }
    
    private void sayHello(){
        System.out.println("你好ya 嘿嘿!~");
    }
    
    public void marked(){
        System.out.println("父类的narked方法");
    }
}

class Teacher extends Person{
    private int level;
    
    
    public Teacher(){
        super("杰杰");//调用父类的构造方法2
        
        marked();//调用子类中的marked
        super.marked();//调用父类中的marked
        Person ps = new Person();
        Person ps1= new Person();
        ps.setName("-wwzzjj-");
        ps1.setName("aaa");
        System.out.println("----" + ps.getName() + "---"+ super.getName());
        System.out.println("----------");
        sayHello();
    }
    
    
    public void marked(){
        
        System.out.println("子类的narked方法");
    }
    
    
    
    
    
}

最新文章

  1. 命名sql数据集
  2. CSS属性之float学习心得
  3. JavaScript类型判断
  4. NMAP 基础教程
  5. [3D跑酷] UI事件处理系统
  6. Python系统调用——运行其他程序
  7. 随心所欲的DateTime显示格式
  8. unix 文件属性
  9. Unix/Linux环境C编程入门教程(35) 编程管理系统中的组
  10. Sphinx Makefile
  11. c# 执行js的方法
  12. (一〇一)集成静态库RHAddressBook实现OC访问通讯录
  13. Linux set命令参数及用法详解
  14. vue-cli ——解决多次复用含有Echarts图表组件的问题
  15. java引用
  16. QT 子窗口退出全屏
  17. POJ 3273-Monthly Expense 求分组和的最小的最大值【二分答案】
  18. STM32F4 -- How to use the DMA burst feature
  19. idea 同project添加多个module maven支持
  20. ReactNative应用<DCL每日查看>开发总结

热门文章

  1. JMeter - 生成随机数/随机字符串/随机变量/随机日期
  2. JS:比较运算符
  3. 面试突击60:什么情况会导致 MySQL 索引失效?
  4. 3. Caller 服务调用 - dapr
  5. vmware修改虚拟机网卡mac地址
  6. ASPNET Core笔试题
  7. Map接口中的常用方法和Map集合遍历键找值方式
  8. 常用源&配置
  9. 聊聊 C++ 中的四种类型转换符
  10. 透过Redis源码探究Hash表的实现