一切皆对象

有过一两年Java和Android的项目经验,但做项目时,觉得只是拿来相关知识在用,没有系统地学习过Java。所以想从基础的东西开始重新学习下Java,不足和错误的地方,希望指出。下面一系列的文章都是参考英文资料而来。

一、在学习Java的过程中,我们要时刻有这样的观念:万物皆对象。当你设计你的应用程序的时候,你可以将代码放到类里面,并封装到方法。让我们看一段代码1-1:

public class Main 
{
        public static void main(String[] str)
        {
            System.out.println("hello");
        }
}

分析代码1-1:启动类Main有一个方法main,打印输出hello。我们可以用另一种方式表示。

二、定义新类及类方法
我们定义一个新类,并在类中定义一个方法,如代码1-2:

public class Welcome 
{
        private String wel = "hello";
        public void sayHello()
        {
            System.out.println(wel);
        }
}

分析代码1-2:我们通过一个类方法实现同样的打印hello的功能。

三、在main方法重新实现打印
重新实现打印的方法如代码1-3所示:

public class Main 
{
        public static void main(String[] str)
        {
            //System.out.println("hello");
            Welcome obj = new Welcome();
            obj.sayHello();
        }
}

分析代码1-3:通过构造方法创建Welcome实例,这个实例就是我们所谓的对象。我们通过变量obj引用实例对象,然后对象obj再调用方法打印输出hello。这种方式将具体实现细节封装在方法里,使得代码简单凝练便于重构。(当然这里为了演示,只使用了一条语句,复杂繁多代码就更能体现优点)

四、万物皆对象
Welcome类有一个属性变量wel,有一个方法sayHello。用Main类的main方法创建一个Welcome的实例,通过该实例调用sayHello方法打印输出hello。

这里说的实例其实就是对象,它有方法和属性(对象封装方法和属性)。之所以说万物皆对象就是因为:我们通常都是创建类的实例去执行代码,而代码本身被封装在类里。

五、进一步理解万物皆对象

看代码1-5:

public class Main 
{
        public static void main(String[] str)
        {
            //System.out.println("hello");
            Welcome obj = new Welcome();
            obj.sayHello();

            String strA = "hello";
            String strB = new String("hello");

            char[] chars = {'h','e','l','l','o'};
            String strC = new String(chars);
    }
}

分析代码1-5:我们生成了三个String对象。一个字符串对象,实际上是多个字符组成的数组,也就是说复杂对象与多个相对简单的对象有关。当我们将万事万物看成对象时,就可以将复杂的事情拆分成更小的多个组成部分,这有利于扩展代码、解决问题。

六、String对象
String类的对象是复杂的对象,规范来讲应该说是java.lang.String类。String类提供了很多的方法,我们简单提两个:

charAt : 获取该字符串在索引处的字符。
concat将指定字符串连接到此字符串的结尾。

七、最终的测试代码
提供一份最终的测试代码1-6给大家,输出结果是:
hello
hello
h

public class Main 
{
        public static void main(String[] str)
        {
            //System.out.println("hello");
            Welcome obj = new Welcome();
            obj.sayHello();

            String strA = "hello";
            String strB = new String("hello");

            char[] chars = {'h','e','l','l','o'};
            String strC = new String(chars);

            System.out.println(strC);
            char myChar = strC.charAt(0);
            System.out.println(myChar);
    }
}

 class Welcome 
 {
        private String wel = "hello";
        public void sayHello()
        {
            System.out.println(wel);
        }
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值