欢迎来到天天文库
浏览记录
ID:14157840
大小:49.50 KB
页数:3页
时间:2018-07-26
《string类、封装类、类的继承、==和equals、super和this、方法重写与重载、访问控制静态块匿名块及对象创建》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1,子类和父类间的隐式转换:Fatherf=newSon();0x1111110x111111Sonf0x111111//子类的对象可以隐式转换给父类的引用//这个父类的引用f访问的就是子类中的方法//但是只能够访问从父类继承到子类中的方法//子类中所特有的方法不能被访问2,访问控制本类同包中子类(继承)不同包中非子类private√×××default√√××protected√√√×public√√√√3,方法的重写与重载:方法重写方法重载定义对从父类继承过来的方法进行改写在一个类中定义多个方法名相
2、同的方法范围对于两个类而言(子类和父类)一个类中方法名子类和父类方法名一致多个方法名一致参数子类中方法的参数要和父类一致参数列表不能相同(类型,个数,顺序)返回值子类中方法的返回值要和父类一致多个方法的返回值可以相同也可以不同修饰符子类中修饰符不能比父类中更严格无限制4,super1,在普通方法中或者构造器,我们可以通过super+“.”调用父类中的方法和属性。2,在子类的构造方法中可以通过“super()”去调用父类的构造器;如果需要调用父类中的有参构造器,只需要在super()后面的括号中写出参数;
3、如果在子类中没有写super()去调用父类中的任何构造器,则系统默认调用父类中的无参构造器。3,如果父类的无参构造器定义成private,则子类中不能有无参构造器,并且子类中要定义一个和父类中有相同参数的构造器;如果父类中的构造器都是private,则当前类不能够继承这个父类。1,this:1,this关键字用在普通方法中,表示调用当前方法的对象如果在全局变量前不写this,并且参数也不存在和属性名相同的变量,那么就相当于省略掉了“this.”,这个全局变量依然指的是调用这个方法的对象的属性2,在构造器
4、中,this指代的是即将创建的对象3,在构造器中this()表示调用当前类的无参构造器,如果要调用其他的有参构造器,则只需要在this()后面的括号中给出参数2,0x101111phaha0x101111女99Personp=newPerson(“haha”,”女”,99);①Personp:表示在棧中开辟一块引用空间并且置null②newPerson(“haha”,”女”,99);:表示调用Person类的有参构造器,执行super()à调用Object中的无参构造器,在堆中开辟内存空间③执行赋值语句
5、:将传过来的name,sex,age写到对应的分配的内存空间中④=:将分配的内存空间的地址赋值p的引用中3,静态块和匿名块静态块:static{}匿名块:{}静态块只在类第一次被加载的时候执行一次,一般用于进行初始化工作;匿名块在每一次创建本类对象或者子类对象时都会被调用一次;对于父类,每创建一个父类对象都会调用一次父类匿名块;对于子类,每创建一个子类对象都先调用父类匿名块,再调用子类的匿名块。在一个类中可以有多个静态块和匿名框,在类加载的时候静态块是按照先后顺序执行的,在创建对象的时候匿名块也是按照先
6、后顺序执行的。1,==和equals:对于String类:如果要比较两个String对象本身是否相等,用“==”;如果要比较两个String对象所表示的字符串是否相同用“equals()”.在使用equals方法的过程中,如果在比较的两个对象中有字符串常量,记住用字符串常量来调用equals方法。==用来比较对象本身的hashCode码;equals用来比较对象表示的字符串。因为Object类中equals方法是用“==”号实现的,所以对于没有重写equals方法的类,equals方法和==没有区别,所
7、以请记住:在我们需要通过equals方法来完成两个对象比较的时候,需要重写equals方法。通常情况下,重写equals方法同时也重写hashCode()方法。2,String类:Stringstr=“abc”;3,
此文档下载收益归作者所有