[转]java类 对象 和构造方法

github地址:https://github.com/lily1010/java_learn/tree/master/dog

java中对象和类

java中万物皆对象,比如说动物,里面有猫,狗,鱼等等,他们都能跑,都能呼吸,总之他们有一些动物的共同特征,java中可以把他们归为一类。这就是java中的类;而猫,狗等,就是这个类中的一个具体的对象。
猫,狗又有一些动作行为,就是方法.
当你想调用那些动作行为的时候,不能直接在类中调用,因为不同的动物的行为不一样,你就必须new一个对象,来调用.

java中类

先来看个例子

public class Dog{
    String name;
    int age;

    void bark(){  // 汪汪叫
        System.out.println("汪汪,不要过来");
    }

    void hungry(){  // 饥饿
        System.out.println("主人,我饿了");
    }
}

对上面例子说明:

public 是类的修饰符,表明该类是公共类,可以被其他类访问。
class 是定义类的关键字。
Dog 是类名称。
name、age 是类的成员变量,也叫属性;bark()、hungry() 是类中的函数,也叫方法。

java变量类型

一个类可以包含以下类型变量:

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

构造方法

注意事项:

在类实例化的过程中自动执行的方法叫做构造方法,它不需要你手动调用。构造方法可以在类实例化的过程中做一些初始化的工作。
构造方法的名称必须与类的名称相同,并且没有返回值。
每个类都有构造方法。如果没有显式地为类定义构造方法,Java编译器将会为该类提供一个默认的构造方法。

举个栗子:

package com.lechebang.www;

/**
 * Created by manlili on 2016/9/21.
 */
public class Dog{
    String name;
    int age;

    public Dog () {   //构造方法
        System.out.println("我是构造方法");
    }
    void bark(){  // 汪汪叫
        System.out.println("汪汪,不要过来");
    }

    void hungry(){  // 饥饿
        System.out.println("主人,我饿了");
    }
}

Java中对象

对象是根据类创建的。在Java中,使用关键字new来创建一个新的对象。创建对象需要以下三步:
①声明:声明一个对象,包括对象名称和对象类型。
②实例化:使用关键字new来创建一个对象。
③初始化:使用new创建对象时,会调用构造方法初始化对象。

举个栗子:

public class Dog{
    String name;
    int age;

    public Dog () {   //构造方法
        System.out.println("我是构造方法");
    }
    void bark(){  // 汪汪叫
        System.out.println("汪汪,不要过来");
    }

    void hungry(){  // 饥饿
        System.out.println("主人,我饿了");
    }

    public static void main(String[] args) {
        Dog myDog = new Dog();
    }
}

执行结果是

访问实例变量和方法

// 实例化
Dog myDog = new Dog("花花", 3);
// 通过点号访问成员变量
myDog.name;
// 通过点号访问成员方法
myDog.bark();

举个例子:

public class Dog2{
    String name;
    int age;

    // 构造方法,没有返回值
    Dog2(String name1, int age1){
        name = name1;
        age = age1;
        System.out.println("感谢主人领养了我");
    }

    // 普通方法,必须有返回值
    void bark(){
        System.out.println("汪汪,不要过来");
    }

    void hungry(){
        System.out.println("主人,我饿了");
    }

    public static void main(String arg[]){
        // 创建对象时传递的参数要与构造方法参数列表对应
        Dog2 myDog = new Dog2("花花", 3);
        String name = myDog.name;
        int age = myDog.age;
        System.out.println("狗狗的名字是"+name+";狗狗年龄是"+age);

        myDog.bark();
        myDog.hungry();
    }
}

运行结果:

时间: 2024-11-08 15:14:57

[转]java类 对象 和构造方法的相关文章

java 类对象使用

在学习反射机制时,总结一下获得类对象方式: 第一种方式:通过类本身来获得对象 Class<?> classname = this.getClass(); 或者this.class 第二种方式:通过子类的实例获取父类对象 ClassName cn = new ClassName(); UserClass = cn.getClass(); Class<?> SubUserClass = UserClass.getSuperclass(); 第三种方式:通过类名加.class获取对象 C

Java类对象数组声明和初始化

Java是纯面向对象语言.类是其重要构成单位. 然后,在实际编程中,我们会自己定义一些类,如Point <span style="font-size:14px;">public class Point { public Point(){ Lat=0.0; Lng=0.0; } public double GetLat(){ return Lat; } public double GetLng(){ return Lng; } public void SetLat(doubl

ResultSet转成java类对象

在做web开发时遇到一个事情: 需要从mysql数据表中查询数据并遍历查询结果 这样最简单的方式是:查询到结果根据表中字段列表的顺序来一个个获取字段,但这样需要记住字段的顺序,操作起来不是那么方便.因此便想可不可以把查询结果 ResultSet转化成java的实例对象,然后利用类对象的get方法,这样会方便清晰很多. 查了下,有很多可以参考,于是参考着有了自己的代码,如下: 1.mapper函数: package com.alibaba.search.offline.oddiff.service

转: JaxbContext生成xml文件或java类对象转化注解

JAXB(Java API for XML Binding),提供了一个快速便捷的方式将Java对象与XML进行转换.在JAX-WS(Java的WebService规范之一)中,JDK1.6 自带的版本JAX-WS2.1,其底层支持就是JAXB. JAXB 可以实现Java对象与XML的相互转换,在JAXB中,将一个Java对象转换为XML的过程称之为Marshal,将XML转换为Java对象的过程称之为UnMarshal.我们可以通过在Java 类中标注注解的方式将一个Java对象绑定到一段X

java类对象

不错的文章 原文地址:(转载)java中的Class类与Class对象作者:albert1017 本文用作笔记之用,引用的网上资料: http://www.blogjava.net/formatmyself/articles/21291.html写得比较全面 http://www.open-open.com/lib/view/1328753336405例子比较好 http://zhidao.baidu.com/question/386608758.html解释得简洁清楚 Java程序在运行时,J

Java类对象和Json数据之间的转换

表字段过多,不想分别保存到数据中,使用频率低,所以考虑使用Jave类 -- Json之间的数据转换. 1.类转换Json,并保存到数据 Attribute.java 1 /** 2 * 属性数据结构 3 * 4 */ 5 public class Attribute { 6 7 private static final long serialVersionUID = -1L; 8 9 private Long attrId; 10 11 private List<AttributeValue>

java反射(四)--反射与简单java类

一.传统简单java类 简单的java类主要是由属性所组成,并且提供有相应的setter以及getter的处理方法,同时简单java类最大的特征就是通过对象保存相应的类的属性内容,但是如果使用传统的简单java类的开发,那么也会面临非常麻烦的困难: 1 class Emp{ 2 private String ename; 3 private String job; 4 5 public void setEname(String ename) { 6 this.ename = ename; 7 }

java class对象测试

java 类对象 jvm在 加载 .class的时候 会创建该类唯一的class对象 以后无论创建多少个实例,该class对 象是不变的. 每一个class对象 getClass() 都会获得同一个class对象 class java.lang.Class ,该对象是唯一不变的.  public void test() {   System.out.println("这是test...方法....");  }  private static void test2() {   try {

Android JNI和NDK学习(09)--JNI实例二 传递类对象

1 应用层代码 NdkParam.java是JNI函数的调用类,它的代码如下: package com.skywang.ndk; import android.app.Activity; import android.os.Bundle; import android.util.Log; public class NdkParam extends Activity { public static final String TAG="skywang--NdkParam"; /** Cal