安卓培训(java篇)第5天—面向对象(下)

  1. super关键字:

    语法:super.父类的成员变量和方法;

          super();//调用父类的构造方法

    用法:如果是调用父类的构造方法,super()必须放在首行;

    注意事项:必须存活在子类当中;跟this不能放在静态方法里面;父类的构造方法不会被子类的构造方法所覆盖(注意不需要父类的每个构造方法都输出);

    例子:

    public class A {

        public A(){}

        public A(int a){}

    }

    class B extends A {

        public B(){

            super(4);//super();都可以

        }   

    }


2.Object类是所有类的基类;

3.toString():返回对象的字符串序列;

注意事项:toString()有返回值,想输出return的值必须有接应(赋值语句);

           默认只要输出对象名就相当于调用toString()方法;

例子:

public class A {

    public String toString(){  //相当于重写toString();

        return "";

        //默认:是返回super.toString();调用Object类里面的toString()方法;

        //输出为:包名+类名+@+哈希码值;

    }  

}


4.equals:比较两个不同对象的值是否相等

  ==(双等号)与equals的区别:

  ==针对同一个存储空间,所以不同空间只能equals;

  建议:八大基本类型用==,其他用equals;


5.对象转型:

向上转型:父类的引用指向子类的对象;

向下转型:子类的引用指向父类的对象;(必须有向上转型,没有向上就没有向下)

注意事项:父类比子类的容量大;(所以对象转型也可以理解成强转);但是对象必须是完整被引用过去,不能像强转一样有溢出;

例子:

public class A {

    public static void main(String[] args) {

        A a=new B();//向上转型

        B b=(B)(new A());//出错,因为溢出了;

        B b=(B)a;   //向下转型

    }

}

class B extends A {

}


instanceOf:表示判断该对象是否属于该类或该类的子类;

语法:对象 instanceOf 类名;返回boolean类型;


6.多态:必须满足三个条件(继承、重写、向上转型)

  作用:扩展性好,安全性强;

  注意事项:多态可以实现子类重写的方法覆盖父类重写的方法;(只有多态可以覆盖父类的方法)


7.抽象类:

语法:权限+abstract+class+类名{}

注意事项:

  1. 用abstract关键字修饰一个类时,这个类叫做抽象类;用abstract修饰方法时,该方法叫做抽象方法;

  2. 含有抽象方法的类必须被申明为抽象类;抽象类必须被继承;抽象方法必须被重写,如果重写不了,应该申明自己为抽象;

  3. 抽象类不能被实例化;

  4. 抽象方法只需申明,而无需实现;


8.final关键字:

  1. final的成员变量的值不能被改变;

  2. final的方法不能被重写;

  3. final的类不能被继承;

















本文出自 “” 博客,请务必保留此出处http://linyingkun.blog.51cto.com/2393912/1574797

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。