this.super.小结

instanceof 判断变量是否是哪个类的变量
    引用变量 instanceof 类名
    Person p = new Student();
    boolean b = p instance of Student;

    //在继承中使用,有继承关系

向上转型;Person p = new Student();student类转为Person类
    若父类没有的方法,创建的对形象不能调用该方法

继承中,在测试类的多态调用只能调用父类和子类共有的功能,

    若想调用子类特有的功能,需要使用强转功能


构造方法
    public 类名(参数列表){}
    构造方法在new的时候就执行,终生只执行一次,在新new一个,在执行一次,但只是伴随着new执行,相当于来了两个人,但并不是同一个人

构造方法写与不写都有,只要是类,就会有一个构造方法,new对象时,调用的就是类中的空构造方法,如果自己在类中定义了有参数的 ,在测试类中调用就需要吧有参数的构造方法,吧值附入 Person p = new Person("张三",20);
    person(string name,int age)
    {
        this.name = name;
        this.age = age;    
}    //带有this.的为成员变量。不带this.的为局部变量,吧栈内存中赋值传入堆内存里的person 中的局部变量

    构造方法不是自己调用,而是在new 构造方法的时候,由对象自己调用
    构造重载的调用。看传递参数对应的形式

    1. this. 可以再构造方法之间调用
    2. this. 区分局部变量和成员变量的同名情况
    3. this. 在构造方法间调用,语法this()  //调用啦有参数的构造方法,调用的是本类的构造方法,可以传递进入   this(“李四”,20);this();需要放在构造方法的第一行(构造方法重载时的用法)


super
 子类的构造方法第一行有隐式代码:super();目的是调用父类的构造方法

    父类中定义了有参构造函数,子类中定义构造函数,需要使用super()
 传递和父类同类型的参数


    super   this     在构造方法都是在第一行,但二中在构造方法中只能选一个,保证子类能调用到父类的构造方法就行

    所有的类都有隐式的构造方法,而所有的构造方法都有一个隐式的super();除了全部类的父类object ,它有构造方法,构造方法没有super();

父类的私有成员,子类无法调用父类的成员变量,但是父类可以创建get/set,子类可以用get/set调用父类的私有成员变量

    子类写构造方法时,若父类的变量为私有变量且父类的构造器为有参构造器,则子类的构造器也为有参构造器,传参的条件为父类的变量属性,且super()也要写上传递的参数,也可为父类的私有变量;


final
    继承的出现虽然解决啦很多问题,但也出现啦很多不可控因素,为此出现final,final的类为最终的类,也就是不能被继承,也可修饰方法和变量,但继承的子类只能用父类最终方法,但不能被重写。

final 修饰的变量虽然不能改变,但可以做运算操作    
    final int a = 10;
    a += 1;

也可以修饰引用变量:final A a = new A();

field java中这英文值得是成员变量。

final 修饰的成员变量需要赋值,不然出错,可以直接赋值,或者用构造方法也可以赋值

static:
    static 实现数据的共享
    静态中不能调用非静态
int age;
String name;
 public static void funcation(){
    syytem.out.println(name+age);  
}           //  此程序错误 ,原因生命周期不同,

静态方法不允许用this   super

    多态调用中,编译看谁,运行看谁:
        编译都看 = 左边的父类,父类有编译成功,父类没有编译失败
        运行,静态方法,运行父类中的静态方法
        运行,非静态方法,运行子类的重写方法
        成员变量,编译运行全是子类

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值