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();
}
}

运行结果:

最新文章

  1. 【转】Centos升级Python 2.7.12并安装pip、ipython
  2. [Windows驱动开发](四)内存管理
  3. IOS照片框架
  4. edittext_解释
  5. Redis过期时间
  6. Wireshark图解教程
  7. 五种I/O 模式,select、epoll方法的理解,BIO、NIO、AIO理解 相关文章
  8. Android基础总结(10)——手机多媒体的运用:通知、短信、相机、视频播放
  9. [MongoDB] Insert, find -- 1
  10. [LeetCode] Ugly Number II (A New Question Added Today)
  11. Linux中link,unlink,close,fclose详解
  12. 深入理解offsetTop与offsetLeft
  13. TeamTalk安装测试
  14. cookie路径问题
  15. Swing与AWT在事件模型处理上是一致的。
  16. 虚拟机oom
  17. javascript 日期函数
  18. linux下安装kafka
  19. java14
  20. C#怎么通过一个按钮Button,实现点击这个按钮可以打开一个文件或者文件夹?

热门文章

  1. AngularJS的学习--$on、$emit和$broadcast的使用
  2. How Spring Boot Autoconfiguration Magic Works--转
  3. Linux文件标示
  4. C++笔记(3):一些C++的基础知识点
  5. 移植SlidingMenu Android library,和安装example出现的问题解决
  6. Windows Azure Virtual Machine (29) 修改Azure VM 数据磁盘容量
  7. 关于IHttpModule的相关知识总结
  8. iOS滤镜实现之Nashville【instagram】
  9. Gson操作json
  10. [Asp.net 5] DependencyInjection项目代码分析4-微软的实现(4)