A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 尤洋 中级黑马   /  2012-8-10 09:21  /  1545 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

经常在使用" .length", " .length()",".size()"时把他们弄混,
另外在使用this ,super和 super(),this()的时候也常常不留神就写错,
有谁能详细讲解下他们 在实例中的运用,让我加深下记忆。

3 个回复

倒序浏览
大家刚学的时候可能都有没搞清楚的时候,不过出错的多了,关键是出错后根据自己出错的原因及时总结了,就能记住了。建议楼主自己多总结。
回复 使用道具 举报
.length主要针对数组的长度:
public static void main(String[] args) {
                int[] arr = {1,2,3,4,5};
                System.out.println(arr.length);
        }
.length()主要针对字符串长度
public static void main(String[] args) {
                String str="Hello World!!!";
                System.out.println(str.length());
        }
.size()主要针对集合
public static void main(String[] args) {
                String h = "Hello";
                String w = "World";
                List<Object> list=new ArrayList<Object>();
                list.add(h);
                list.add(w);
                System.out.println(list.size());
        }
this小例子
package org.zrq.demo02;
class Demo{
        String name;
        int age;
        public Demo(){
                System.out.println("Hello World");
        }
        public Demo(String name){
                this();//调用无参构造方法
                this.name = name;
        }
        public Demo(String name,int age){
                this(name);//调用一个参数的构造方法
                this.age = age;
        }
        public String getInfo(){
                return "名字:" + this.name +" 年龄:"+this.age;
        }
}
public class ThisDemo {

        public static void main(String[] args) {
                Demo demo = new Demo("张三",30);
                System.out.println(demo.getInfo());
        }

}
this.属性表示访问本类的属性,如果本类没从父类中查找
this.方法()表示访问本类的属性,如果本类没有从父类中查找
this()表示找到本类中的构造方法
this还表示当前对象
super.属性一般是在子类中调用,直接找到父类属性不找本类的属性
super.方法()一般是在子类中调用,直接找到父类方法不查找本类的方法
super()表示由子类调用父类的构造方法

评分

参与人数 1黑马币 +1 收起 理由
唐见 + 1 介绍的很详细

查看全部评分

回复 使用道具 举报
数组对应.length求长度,因为数组的元素个数是它初始化时的属性,不必用函数求出(length后面不必带括号()),
字符串对应.length(),字符串的长度用.length()函数求出
集合对应于.size(),因为集合的大小用.size()函数求出。
this和super看楼上的意见吧 挺好的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马