`
basecat
  • 浏览: 1290 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

java基础知识之类与对象

阅读更多

       与C语言相比,java多了面向对象的内容,主要也就体现在封装,继承和多态这三要素。而类与对象则是体现封装性的关键。那么什么是类呢?在我看来,类就是具有相同特征和方法的一类事物的集合。举个例子,比如说“狗”就是一个类,它表示所有的狗的集合,它具有名字,年龄,种类等特征以及吃,吠叫

 等方法,用代码来体现的话便是这样:

class dog
{
            //狗的名字
              private string name;
            //狗的年龄
              private int age;
            //狗的种类
              private string kind;

            //吃的方法
              public void eat()
            {
                  System.out.println(name+"is eating");
            }
            //吠叫的方法
              public void bark()
            {
                  System.out.println(name+"is barking");  
            }
            //设置狗的名字的方法
	     public string setName(string n)
            {
                  name=n;              
            }
            //设置狗的年龄的方法
              public int setAge(int a)
               {
                    age=a;
               }
             //设置狗的种类的方法
               public string setKind(string k)
               {
                    kind=k;
               }
}
  
于是一个类便创建好了,以上的public和private分别表示公有成员和私有成员,此处不作赘述。可是,

这个类有什么用呢?别急,单独一个类并不能做太多事,因为类只是一个模板,我们要做的事便是利用这个创建好了的模板“制造”出任意多的产品,也就是“对象”。如果说类是一个虚拟的大的框架,那么对象就是在这个框架下构建的实例。放在我们生活中,对象便是一切,或者说Everything is object.,每一个人都是对象,每一个物体都可以看成对象,就拿先前的dog类来说,如果说狗这个概念是类,那么每一只具体的狗就都是对象。例如:假如你养了一条萨摩耶犬Samoyed,你给它取名叫Tom,而它已经4岁了,这些都属于它的特征,而这只萨摩耶犬就是dog类的一个对象。于是我们这样可以给的dog类创建一个对象:

//给dog类创建一个对象Tom
dog Tom=new dog();

        然而现在的这个对象并不具备他的特征,因为我们还没有给他的特征赋值,于是我们需要通过Tom这个对象来调用dog类中的赋值用的函数setName(),setAge()和setKind(),分别给Tom的名字,年龄,种类赋值:

Tom.setName("Tom");
Tom.setAge(4);
Tom.setKind("Samoyed")

          做完这些,Tom已经成为一个有血有肉的对象了,而在我们外出时,我们想要让他吠叫来赶跑盗贼,该怎么做呢?

Tom.bark();

         现在有好事者想要让Tom学猫咪叫,会怎么样呢?

Tom.meow();

        那么Tom到底会不会喵喵叫呢?当然不会,因为猫叫的方法meow(),Tom并不会,所以自然不能喵喵叫,那么要让Tom学会猫叫又怎么办呢?很简单,我们回到dog类中,插入公有的meow的方法,这样的话不管是Tom还是别的狗都学会了猫叫。

class dog
{
            //狗的名字
              private string name;
           //狗的年龄
              private int age;
           //狗的种类
              private string kind;

            //吃的方法
              public void eat()
            {
                  System.out.println(name+"is eating");
            }
            //吠叫的方法
              public void bark()
            {
                  System.out.println(name+"is barking");  
            }
            //猫叫的方法     
             public void moew()
             {
                   System.out.println(name+"is meowing");  
             }

            //设置狗的名字的方法
	      public string setName(string n)
            {
                  name=n;              
            }
            //设置狗的年龄的方法
              public int setAge(int a)
               {
                    age=a;
               }
             //设置狗的种类的方法
               public string setKind(string k)
               {
                    kind=k;
               }
}

 然后我们再让Tom来学猫叫就不会有问题了。

Tom.meow();

          除了通过类中的set方法来设置对象的特征这条途径之外,我们还可以通过构造方法来实现。不过这样我们要自己编写构造函数,而不是调用默认构造函数。

class dog
{
    dog (string name,string kind,int age)       
    {
        this.name=name;
        this.age=age;
        this.kind=kind;
    }
     //这样定义好构造函数之后在主函数中,我们便可以在创建对象的同时给Tom赋予血肉之躯
    public static void main(String [] args)
    {
        dog Tom=new dog(Tom,samoyed,4);
    }
}

         以上是个人作为一个刚学java的小白的一点学习心得,以后还会继续学习继续写,有什么错误请各位大神多多指点微笑

2
0
分享到:
评论

相关推荐

    java基础-类和对象的定义

    通过书籍,个人整理的java基础之类的对象的定义的有关知识点

    Java基础知识点总结.docx

    Java学习更是如此,知识点总结目录如下: 目录 一、 Java概述 3 二、 Java语法基础 5 数据类型 5 运算符号 14 语句 15 函数 15 方法重载(Overloadjing)与重写(Overriding) 16 数组 17 总结 18 三、 常见关键字 ...

    JAVA相关基础知识

    JAVA相关基础知识1、面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用...

    JAVA核心知识点整理.zip

    JVM 是运行在操作系统之上的,它与硬件没有直接 的交互。 3. JAVA 集合 集合类存放于 Java.util 包中,主要有 3 种:set(集)、list(列表包含 Queue)和 map(映射)。 Collection:Collection 是集合 List、...

    Java核心技术 卷Ⅰ:基础知识 【中文】(第八版)

    Java核心技术 卷Ⅰ:基础知识 【中文】 第1章概述Java与其他程序设计语言不同的性能。解释这种语言的设计初衷,以及在哪些方 面达到了预期的效果。然后,简要叙述Java诞生和发展的历史。 第2章详细地论述如何下载和...

    JAVA程序设计判断题题库81道

    《java程序设计》课程的题库资料,由贺州学院整理,可供学生期末课程复习使用,也可以供相关...10. Java是面向对象的语言,对象是客观事物,对象与之是一一对应,它是很具体的概念。( ) 答案:× [考点范围] JAVA简介

    JAVA基础课程讲义

    包装类基本知识 117 包装类的用途 118 自动装箱和拆箱?autoboxing,unboxing 119 字符串相关类(String、 StringBuffer 、 StringBuilder) 120 String类的常用方法(已讲过,不再讲!) 120 StringBuffer和...

    MLDN魔乐JAVA_83类集补充知识、类集应用范例

    Java面向对象的基础核心知识点之一,是日后学习JavaEE,JavaME的必备知识;注重基础的代码实例讲解, 让你轻松的学习Java基础知识,为以后学习铺平道路,打好基础;万丈高楼平地起,希望能帮助你!

    java之路,主要是java中的学习过程与基础项目.rar

    这部分主要学习的内容有:基本程序结构,类与对象,接口,泛型,反射,集合,异常与调试, Java 网络编程, Java I/O和多线程。 学 Java 基础,推荐大家看尚硅谷宋红康老师的 Java 教程,宋老师的课程更适合零基础...

    Java基础加强之类加载器

    类加载是指将类的class文件读入内存,并为之创建一个Java.lang.Class对象,也是说当程序中使用任何类时,系统都会为之建立一个java.lang.Class对象。  类加载器负责加载所有类,系统为所有被载入内存中的类生成一...

    Java基础语法面试题.docx

    Java基础语法面试题资源通常是指帮助准备Java编程面试的问题集合,涵盖了Java编程语言的基础概念、语法、特性和常见问题。这些资源可以帮助面试者巩固和扩展他们的Java知识,准备应对面试过程中的技术问题。 这些...

    「Java语言与面向对象程序设计-在线作业B答案」.docx

    「Java语言与面向对象程序设计-在线作业B答案」 「Java语言与面向对象程序设计-在线作业B答案」全文共8页,当前为第1页。「Java语言与面向对象程序设计-在线作业B答案」全文共8页,当前为第1页。欢迎您:W...

    java 核心编程 java

    全书共14章,包括Java基本的程序结构、对象与类、继承、接口与内部类、图形程序设计、事件处理、Swing用户界面组件、部署应用程序和Applet、异常日志断言和调试、泛型程序设计、集合以及多线程等内容。. 全书对Java...

    Java体系架构知识点整理,包括Java基础、Spring、MySQL、算法题等.zip

    标准库丰富:Java拥有庞大的类库,如Java SE(Java Standard Edition)包含基础API,用于开发通用应用程序;Java EE(Java Enterprise Edition)提供企业级服务,如Web服务、EJB等;而Java ME(Java Micro Edition...

    Java2实用教程提取码

    Java是一种很优秀的编程语言,具有面向对象、与平台无关、安全、稳定和多线程等特点,是目前软件设计中极为健壮的编程语言。Java语言不仅可以用来开发大型的应用程序,而且特别适合于在Internet上应用开发,Java已...

    Java程序设计实例与操作光盘

    丁永卫、谢志伟、高振栋主编的《Java程序设计实例与操作》以12个项目全面展示了Java语言的风采,其内容包括Java语言特色和Java开发环境介绍,Java的数据类型、常量、变量、运算符和表达式、控制结构等编程基础知识,...

    2011最新最全的JAVA面试题总结.txt

    一、 JAVA 基础知识 1、面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用...

    java 基础知识

    1. 抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。...派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。

    JAVA上百实例源码以及开源项目源代码

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    Java基础入门及提高.pdf

    《Java基础入门及提高》,整理:yyc、spirit。PDF 格式,大小 4.8 MB,非影印版。 前言: 同人类任何语言一样,Java 为我们提供了一种表达思想的方式。如操作得当,同其他方式相比,随着问题变得愈大和愈复杂,这种...

Global site tag (gtag.js) - Google Analytics