java类 对象 和构造方法

时间:2022-09-02 14:33:40

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

执行结果是

java类 对象 和构造方法

访问实例变量和方法

// 实例化
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();
}
}

运行结果:

java类 对象 和构造方法

java类 对象 和构造方法的更多相关文章

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

    github地址:https://github.com/lily1010/java_learn/tree/master/dog java中对象和类 java中万物皆对象,比如说动物,里面有猫,狗,鱼等 ...

  2. 规则引擎集成接口(九)Java类对象

    Java类对象 右键点击“对象库” —“添加java类对象”,如下图: 弹出窗体,在文本框中输入类的全名“com.flagleader.test.Test”,选择该类型后确定,如下: 显示如下,勾选上 ...

  3. ResultSet转成java类对象

    在做web开发时遇到一个事情: 需要从mysql数据表中查询数据并遍历查询结果 这样最简单的方式是:查询到结果根据表中字段列表的顺序来一个个获取字段,但这样需要记住字段的顺序,操作起来不是那么方便.因 ...

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

    JAXB(Java API for XML Binding),提供了一个快速便捷的方式将Java对象与XML进行转换.在JAX-WS(Java的WebService规范之一)中,JDK1.6 自带的版 ...

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

    Java是纯面向对象语言.类是其重要构成单位. 然后,在实际编程中,我们会自己定义一些类,如Point <span style="font-size:14px;">pu ...

  6. 存在继承关系的Java类对象之间的类型转换&lpar;一&rpar;

      类似于基本数据类型之间的强制类型转换. 存在继承关系的父类对象和子类对象之间也可以 在一定条件之下相互转换. 这种转换需要遵守以下原则: 1.子类对象可以被视为是其父类的一个对象2.父类对象不能被 ...

  7. Java 类 对象 包

    Java类和对象 类是具有相同属性和行为的一组对象的集合.(属性是用来描述对象的特征可以理解为成员变量 例如:一个学生(对象)他的类可能是学校,它的属性可能是学号,姓名,年龄,班级,成绩等等) 例子: ...

  8. java类对象

    不错的文章 原文地址:(转载)java中的Class类与Class对象作者:albert1017 本文用作笔记之用,引用的网上资料: http://www.blogjava.net/formatmys ...

  9. 21&period;如何将java类对象转化为json字符串

    使用阿里巴巴的fastJson 下载链接: 链接: https://pan.baidu.com/s/1dHjLOm1 密码: rr3w 用法如下: User user = new User(); us ...

随机推荐

  1. 20135220谈愈敏Blog7&lowbar;可执行程序的装载

    可执行程序的装载 谈愈敏 原创作品转载请注明出处 <Linux内核分析>MOOC课程 http://mooc.study.163.com/course/USTC-1000029000 一. ...

  2. 基于ArcGIS的栅格图像平滑处理&lpar;转&rpar;

    基于ArcGIS的栅格图像平滑处理 栅格数据获取的途径多种多样,造成了栅格数据质量的很大差异,一些质量较差的栅格数据存在大量“噪音”象元,即在表达同类型的地理要素时,出现个别像元值与周边像元不一致的情 ...

  3. Quartz1&period;8&period;5例子(四)

    /* * Copyright 2005 - 2009 Terracotta, Inc. * * Licensed under the Apache License, Version 2.0 (the ...

  4. 用CSS&sol;CSS3 实现 水平居中和垂直居中的完整攻略

    水平居中:行内元素解决方案 只需要把行内元素包裹在一个属性display为block的父层元素中,并且把父层元素添加如下属性即可:   .parent { text-align:center; } 水 ...

  5. Android学习探索之App多渠道打包及动态添加修改资源属性

    前言: 关于Android渠道打包是一个比较老的话题,今天主要记录总结一下多渠道打包以及如果动态配置修改一些资源属性.今天以公司实际需求为例进行演示,由于项目复用很多公共的业务组件,而且业务组件之间的 ...

  6. 【java学习笔记】反射基础

    一.反射 反射就是在剖析一个类,了解这个类的构造,创建这个类对应的对象. Class 代表字节码的类,代表类的类 Field 代表属性的类 Method 代表方法的类 Constructor 代表构造 ...

  7. Windows7下使用mingw编译openssl

    Windows7下使用mingw编译openssl 首先参考这篇文章安装mingw/minsys: http://blog.csdn.net/ubuntu64fan/article/details/8 ...

  8. Javascript 垃圾回收机制

    转载于https://www.cnblogs.com/zhwl/p/4664604.html 一.垃圾回收的必要性 由于字符串.对象和数组没有固定大小,所有当他们的大小已知时,才能对他们进行动态的存储 ...

  9. CHtmlEditCtrl &lpar;3&rpar;&colon; More HTML Editor Options

    In this version of our HTML Editor, we'll create a floating source view/edit window and we'll implem ...

  10. LinQ实战学习笔记&lpar;一&rpar; LINQ to &lpar;Objects&comma; XML&comma; SQL&rpar; 入门初步

    LINQ对于笔者来说, 优美而浓缩的代码让人震惊. 研究LINQ就是在艺术化自己的代码. 之前只是走马观花学会了基本的语法, 但是经常在CSDN看到令人惊讶自叹不如的LINQ代码, 还是让人羡慕嫉妒恨 ...