1.对象 object

对象是可被感知的一个实体,有唯一的名称、有一组表现对象的状态属性和对象内在具有的行为能力。比如张三这个人,他有姓名、职业、眼睛等具体状态属性,能实施说、跑、吃等方法。对象,在java代码中就是某类型的变量。
      对象申明:类型 对象变量名
      对象创建:对象变量名=new 类型();对象申明和创建可以一次完成。
例如:

Class Testcalc{

Public static void main(string arg[])

{

Calculator c=new Calculator();         //创建对象(先声明一个对象,包括对象名称和对象类型(声明);使用关键字new来创建一个对象(实例化);使用new创建对象时,会调用构造方法初始化对象(初始化))

C.plus (10,20)

}

}

向对象发送消息(访问实例化对象和方法):对象名.属性,或者,对象名.方法(实际参数列表),就是调用该对象的某属性或某方法。例如上例中:

C.variablename;     //访问类中的属性

C.plus();               //访问类中的方法

说明:可以对某对象的属性进行读取和修改,也可以调用某对象的某方法。调用对象的属性和有返回的方法,必须做进一步的加工;调用对象的无返回的方法,直接调用。

2.类 class

类是具有相同属性和方法的对象的集合,是对象集合的抽象或模板。  例如,“人”类,“狗”类,“自行车类”,“交通工具”类。

定义类:
       [类修饰符] class 类名称{
            类成员
       }

例如:

class Human{
  String className="人类";
  int age,height;
  String name;
  void speak(){
    System.out.println("大家好,哈哈哈");
  }
  int salary(String workName){
    ...
  }
}

class Dog{
  ...
}

class A{
  ...
}

一个类可以包含以下类型变量:
局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
类变量:类变量也声明在类中,方法体之外,但必须声明为static类型。

一个类可以拥有多个方法,在上面的例子中:speak()、salary()都是Human类的方法。

3.类和对象的关系

类是具有相同属性和方法的一组对象的集合,是抽象的概念模型,而对象是类的实例,是具体的。

4.属性 field→域

语法:[域修饰符] 类型 属性名[=属性值]       成员变量→和变量的申明方式一样

5.方法 method

语法:[方法修饰符] 方法返回类型  方法名([形式参数类型和名称列表]){

方法主体内容;

方法返回类型:任何方法都有返回类型,一个方法如果没有任何返回结果,则返回类型为void;返回值的类型为int型,则返回类型就为int,如此类推。

属性和方法不能重名,方法后面有小括号,属性后没有小括号system.out.println()

形式参数:方法运行过程中使用的形式上的参数,采用形式参数的好处是方法运行时能根据传入额实际参数的不同,运行出不同结果。

返回结果的方法:在方法内用以下语句: Return某值

注意:类名首字母大写,属性和方法不大写;

6.构造器

构造器,类的成员,构造器名与类名相同,其作用是在创建该类对象时初始化该类对象的属性的值,返回的是该类型的对象。
特点:
      1.名称和类名相同;
      2.语法类似于方法,但没有返回类型,连void都没有;
      3.在创建对象时被调用,如: A a = new A();中A()就是构造器;
      4.如果类中没有申明构造器,实际运行时jvm会自动添加一个无参数的空内容的构造器;
      5.构造器可以使用访问修饰符,但不能使用成员的其他修饰符,这是构造器与方法的第二个区别,另外构造器无法被继承;
      6.一个类可以有多个构造器(指定不同参数类型或个数即可--重载);
      7.创建对象时按构造器格式赋实参;

例如:

class Box{
  private int width,length,deepth;     //使用访问修饰符private;
  Box(int w){                         //只有一个参数类型的构造器,名称与类名相同;
    width=w;
    length=l;
    deepth=w;
  }
  ......
}

class MyBox{
   public static void main(String[] arg){
     Box box1=new Box(10);       //特点7,创建对象时按照构造器的格式赋实参;
     ......
   }
}

7.重载

重复加载方法和构造器。Overload,同一个名称,但传递的形式参数个数和类型不同的多个方法和构造器。

例如:

class A{
  void show(){
    System.out.println("A");
  }
  void show(String name){
    System.out.println(name);
  }
  void show(int age){
    System.out.println("I am "+age+" old.");
  }
  void show(int a){
    ...
  }
}

A a = new A();
  a.show();                     //返回结果为 A;
  a.show("jack");             //返回结果为 name;
  a.show(20);                  //返回结果为 I am 20 old;

Java 对象和类的更多相关文章

  1. Java-Runoob:Java 对象和类

    ylbtech-Java-Runoob:Java 对象和类 1.返回顶部 1. Java 对象和类 Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载 ...

  2. (五)Java 对象和类

    Java 对象和类 Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 消息解析 本节我们重点研究对象和类的概念. 对象:对象是类的一个实例,有状态和行为. ...

  3. Java 教程 (Java 对象和类)

    Java 对象和类 Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载 本节我们重点研究对象和类的概念. 对象:对象是类的一个实例(对象不是找个女朋友 ...

  4. JavaSE基础(十二)--Java 对象和类

    Java 对象和类 Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载 本节我们重点研究对象和类的概念. 对象:对象是类的一个实例(对象不是找个女朋友 ...

  5. Java对象转xml报文和xml报文转Java对象帮助类

    import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marsha ...

  6. java对象和类学习

    定义对象的类: 一个对象的状态(属性或特征)是指那些具有他们当前值的数据域 一个对象的行为是由方法定义的,调用对象的方法就是完成对象的一个动作 使用一个通用类来定义同一类型的对象.类是一个模板,一个对 ...

  7. Java对象与类中的一个小练习

    一直在Eclipse里做练习.是做一个练习,执行一个的那种.刚刚学习了Java的对象与类,练习中把类和执行放在同一包下的两个.java文件里面了.是可以执行的.(Get) 相关代码: public c ...

  8. JAVA对象和类

    Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载 Java中的类 类可以看成是创建Java对象的模板. 通过下面一个简单的类来理解下Java中类的定 ...

  9. 重新学习Java——对象和类(二)

    上一节回归了如何以面向对象的思想去使用一些Java中的公共类,也设计了一些自己的类并介绍了设计类的基本方法和技巧,这一节我们将继续回顾这些内容,并争取从中获得新的体验和感受. 1. 静态域与静态方法 ...

  10. 重新学习Java——对象和类(一)

    之前通过记笔记的方法,对于<Java核心技术>这本书的前一章进行了重新的复习,感觉效果很好,比单独看书带来了更好的复习效果,了解了很多以前不是很注意的一些细节,但是在一些自己较为熟悉的地方 ...

随机推荐

  1. 【精心推荐】12款很好用的 jQuery 图片滚动插件

    这里收集了12款很好用的 jQuery 图片滚动插件分享给大家.jQuery 作为最流行的 JavaScript 框架,使用简单灵活,同时还有许多优秀的插件可供使用.其中最令人印象深刻的应用之一就是各 ...

  2. Restive.js – 轻松让网站变成响应式和自适应

    Restive.js 是一个 jQuery 插件,可以帮助您轻松快捷地添加响应式功能到你网站,适应几乎所有拥有 Web 功能的设备.使用设备检测,高级管理断点,以及方向管理的组合,Restive.js ...

  3. css选择器中:first-child与:first-of-type的区别

    :first-child选择器是css2中定义的选择器,从字面意思上来看也很好理解,就是第一个子元素.比如有段代码: p:first-child  匹配到的是p元素,因为p元素是div的第一个子元素: ...

  4. 程序新能优化-SQL优化

  5. Sql Server 2008 数据库附加失败提示9004错误解决办法

    附加数据库 对于 服务器“WSS_Content”失败.  (Microsoft.SqlServer.Smo)执行 Transact-SQL 语句或批处理时发生了异常. (Microsoft.SqlS ...

  6. Android压力测试工具——Monkey

    Android压力测试工具——Monkey Monkey是运行在模拟器上和真机设备上的一段程序,它会产生用户事件的一系列伪随机流,比如点击.触摸.手势,还有很多系统级别的事件.Monkey通常是用来做 ...

  7. UIColor与PatternImage

    UIColor有一个方法叫做+ (UIColor *)colorWithPatternImage:(UIImage *)image;. 返回的是一个UIColor,但没有明确的RGB值,所以叫做pat ...

  8. asp.net实现动态添加table行

    asp.net动态的生成,删除table的行,主要是在后台动态创建单元行,单元表格,效果图: 2.代码: <%@ Page Language="C#" AutoEventWi ...

  9. ios线程和GCD

    1.什么是进程? 进程是指在系统中正在运行的一个应用程序.比如同时打开QQ.Xcode,系统就会分别启动2个进程.截图 2.什么是线程? 1).一个进程要想执行任务,必须得有线程(每一个进程至少要有一 ...

  10. JNI在C 和 C++ 函数实现的不同

    在C中,JNI 函数调用由“(*env)->”作前缀,目的是为了取出函数指针所引用的值. 在 C++ 中,JNIEnv 类拥有处理函数指针查找的内联成员函数. 下面这两行代码访问同一函数,但每种 ...