您的位置:首页 > 编程语言 > Java开发

JAVA学习之类和对象

2016-12-10 11:11 162 查看
        相信学习JAVA的人都被它的类强大功能搞蒙B过,因为类是JAVA的基石,一切都是类。 要搞懂类之前,我先从生活中找找跟类有关的词语: 分类, 不是一类等。不同东西不是一类,所以我认为类是用于区分不同对象的属性和行为的描述。特别注意这只是描述,就是说实际上什么都没有。就好比你饿了,我跟你描述说我有一饼,是金黄色的,上面有芝麻,8寸大,中间还有肉。你听懂了也能想像出这个饼,然并卵,你一样饿,因为没有具体的饼。

   类的描述的有属性和行为两种,下面我们开始定义一个类,汽车类:

class Car
{
int color;  //颜色
int price;  //价格
int wheelNum; //车轮数
void run()  //开
{
System.out.print("running....");
}
}
  这是一个汽车类的描述,但如果要真的开一量车,就要生成具体的对象

public class example {
public static void main(String[] args) {
Car car = new Car();
car.run();
}
}
         特别要注意,最后真正能运行的必须是对象,不能直接操作类的属性和方法(非static,前面文章有谈到这事)         如果跟直接Car.run()或者Car.color都是会编译错误的,就像你不能吃我那描述的饼一样。     上面这样的类很简单,大家可能都会看的懂,但在看书过程中会发现,事情不是那么简单在JAVA书中有关类的介绍光概念就要吓死人:
     1)修饰符public, private, protect, static 
     2)  继承,多态,抽象类,
     3)类的构造函数, 父类,子类,子类调用父类构造函数, 子类重写父类方法
     等等等等, 我想说的是大家开始学的时候,不要去纠结这些概念。应该从应用的角度出发,等后面慢慢用到了,自然就学会了,下面我以继承为例:
     上面有个汽车类,我们用new()相当于产生了一量汽车。这时我想要一量大货车可以定义如下的类  
class Trunk
{
int color;
int price;
int wheelNum;
int ton; //吨位
int cargosize //厢位大小
void run()
{
System.out.printf("running...");
}
}

     如果要一量卡车就new Trunk()一下就行了。  大家可以看下这Car 和 Trunk类有很多相似重复代码,Trunk类只多了ton, cargosize两个属性。车子还有SUV, SMART等等不同类型,但不管什么车都会有color, price,wheelNum等,没有必要重复写这么相同代码的。

       JAVA为了能提高代码复用率,提高开发人员的效率,提出了继承的概念。--继承就是把父类的东西变成自己的东西,写法就是extends-这个英语意思就是扩展延展(中文就是在原来的基础上再加东西)

    class Trunk extends Car{

   } 写完这个代码后,Trunk就有了上面Car的属性和方法。

   之后只需要添加两行即可

class Trunk
{
int ton; //吨位
int cargosize //厢位大小
}
       是不是很方便。确实方便,但也有一些问题要处理,如果Car类有些东西不想上子类继承怎么办?就可以用private修饰。如果子类想改写run方便怎么办呢?等等,带着这些问题就可以去好好新概念了。

   

      

   

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: