Java基础9-java的类、对象和方法

一、什么是类、对象和方法?

1.类

类用官方解释为:类是一个模板,它描述一类对象的行为和状态。类本身就是一种抽象的概念(以后我们还会介绍抽象类)。

举个例子:DOTA中有许多英雄。这些英雄(无论是敏捷还是力量型,无论是天辉还是夜魇)都可以统称为DOTA英雄,DOTA英雄就是一个大类。当然,我们还可以继续划分,比如力量型是一类,敏捷型是一类。天辉是一类,夜魇是一类。

2.类的属性或状态

通过上边的例子,我们发现英雄都有名字、血量、魔法值、技能个数、移动速度等等。这些就是我们这一类的属性或状态。当然,力量型或敏捷型英雄可能有不同的属性,这就涉及到了继承,比如天辉力量型英雄有天辉英雄的属性,而无论天辉还是夜魇都有DOTA英雄的属性,具体在以后再细说。

//创建了一个公共类,类名叫DOTAHero
//类的声明格式
/*
public class 类名{}
class 类名{}
*/
public class DOTAHero{
    //DOTAHero有姓名、血量、技能个数、移动速度等这些属性//属性定义格式:数据类型 属性名//数据类型可以是基本数据类型也可以是引用数据类型,String就是引用数据类型
    String name;
    float HP;
    int    skill;
    int  moveSpeed;
}        

3.对象

对象是类的一个实例,例如

我们划分了DOTA英雄这个类,那么我们就可以创造一个实实在在的英雄出来,比如我们创建一个英雄叫剑圣,剑圣这个英雄就是DOTA英雄这个类的一个实例化对象。

创建好剑圣这个英雄后我们就可以给他设置名字、血量等属性,叫做初始化,如果我们不设置,那么他的值默认为0或空。

public class DOTAHero {
String name;
int skill;
float HP;
int moveSpeed;
    public static void main(String[] args) {
//对象的创建用new关键字
//格式: 类名 + 对象名 = new 类名();
        DOTAHero Hero=new DOTAHero();
//我们给创建的这个英雄起了个名字叫剑圣
        Hero.name="剑圣";
//剑圣的血量是600,技能是4个,移动速度是110;
        Hero.HP=600;
        Hero.skill=4;
        Hero.moveSpeed=110;
//如果我们不设置这些具体的值,那么这些属性的默认值为0或null
System.out.println("英雄名:"+Hero.name+",血量:"+Hero.HP+",技能个数:"+Hero.skill);
    }

}

那么JVM是怎么来给这个执行的呢?

4.方法

方法就是对象可以执行的动作,它是为了执行一个功能而编写语句的集合。

比如:我们创建的这个剑圣可以攻击,可以释放技能,可以升级,可以买装备,这些就叫做方法。

public class DOTAHero {
String name;
int skill;
float HP;
int moveSpeed;
    public static void main(String[] args) {
        DOTAHero Hero=new DOTAHero();
        Hero.name="剑圣";
        Hero.HP=600;
    }
//这就是声明了一个攻击的方法
/*
方法的声明格式:
public static 返回值类型 方法名称(参数列表){
    程序语句;
    [return[返回值];]
}
返回值类型必须相同
如果没有返回值声明时用void
*/
public static void attack() {
//这就是一个无返回值,无参数的方法
    System.out.println("普通攻击");
     }
}

5.方法的调用

方法可以在主方法中调用

public class DOTAHero {
String name;
int skill;
float HP;
int moveSpeed;
    public static void main(String[] args) {
        DOTAHero Hero=new DOTAHero();
        Hero.name="剑圣";
        Hero.HP=600;
//调用attack方法
        attack();
    }
public static void attack() {
    System.out.println("攻击");
}
}

public static 返回值类型 方法名称(参数列表){

程序语句;

    [return[返回值];]

}

原文地址:https://www.cnblogs.com/LuckyGJX/p/8729310.html

时间: 2024-07-28 19:57:55

Java基础9-java的类、对象和方法的相关文章

[ 转载 ] Java基础10--关于Object类下所有方法的简单解析

关于Object类下所有方法的简单解析 类Object是类层次结构的根类,是每一个类的父类,所有的对象包括数组,String,Integer等包装类,所以了解Object是很有必要的,话不多说,我们直接来看jdk的源码,开始我们的分析之路 1.hashcode() public native int hashCode();//native说明跟机器有关,跟对象的地址有关 如果我们新建一个类,而hashcode没有被重写的话,那么hashcode返回的值只于对象的地址有关,如果hashcode被重

Java基础知识:面向对象&类图

类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性.操作.关系的对象集合的总称.在系统中,每个类都具有一定的职责,职责指的是类要完成什么样的功能,要承担什么样的义务.一个类可以有多种职责,设计得好的类一般只有一种职责.在定义类的时候,将类的职责分解成为类的属性和操作(即方法).类的属性即类的数据职责,类的操作即类的行为职责.设计类是面向对象设计中最重要的组成部分,也是最复杂和最耗时的部分. 1.面向对象特性 1)抽象 2)继承 3)封装 4)多态 2.类图: 在软件系统

java基础学习总结——Object类

永不放弃,一切皆有可能!!! 只为成功找方法,不为失败找借口! java基础学习总结——Object类 一.Object类介绍 Object类在JAVA里面是一个比较特殊的类,JAVA只支持单继承,子类只能从一个父类来继承,如果父类又是从另外一个父类继承过来,那他也只能有一个父类,父类再有父类,那也只能有一个,JAVA为了组织这个类组织得比较方便,它提供了一个最根上的类,相当于所有的类都是从这个类继承,这个类就叫Object.所以Object类是所有JAVA类的根基类,是所有JAVA类的老祖宗.

java基础复习之对于String对象,可以使用“=”赋值,也可以使用new关键字赋值,两种方式有什么区别?

String类型是实际工作中经常用到的类型,从数据类型上划分,String是一个引用类型,是API中定义的一个类.所以String类型的对象可以用new创建,例如String name=new String("string");为变量name进行赋值,值为"string" ,然而String类比其他类有些特殊,可以使用'='直接赋值,如 String name="string";也是为变量name进行赋值,值为"string"

【java基础】Java反射机制

一.预先需要掌握的知识(java虚拟机)  1)java虚拟机的方法区:  java虚拟机有一个运行时数据区,这个数据区又被分为方法区,堆区和栈区,我们这里需要了解的主要是方法区.方法区的主要作用是存储被装载的类 的类型信息,当java虚拟机装载某个类型的时候,需要类装载器定位相应的class文件,然后将其读入到java虚拟机中,紧接着虚拟机提取class 中的类型信息,将这些信息存储到方法区中.这些信息主要包括: 这个类型的全限定名 这个类型的直接超类的全限定名 这个类型是类类型还是接口类型

【Java基础】Java面试题目整理与解说(二)

1.Collection 和 Collections 的差别. Collection 是集合类的上级接口,继承于他的接口主要有 Set 和 List. Collections 是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索.排序.线程安全化等操作. 2.HashMap 和 Hashtable 的差别. HashMap 是 Hashtable 的轻量级实现(非线程安全的实现),他们都完毕了 Map 接口,HashMap是非线程安全,效率上可能高于 Hashtable.在多个线程

Java基础 之Java动态绑定详解

程序绑定的概念: 绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来.对java来说,绑定分为静态绑定和动态绑定:或者叫做前期绑定和后期绑定 静态绑定(早绑定 编译器绑定): 在程序执行前方法已经被绑定,此时由编译器或其它连接程序实现.例如:C. 针对java简单的可以理解为程序编译期的绑定:这里特别说明一点,java当中的方法只有final,static,private和构造方法是前期绑定 动态绑定(迟绑定 运行期绑定): 后期绑定:在运行时根据具体对象的类型进行绑定. 若一种语言实现

【Java基础】Java面试题目整理与讲解(二)

1.Collection 和 Collections 的区别. Collection 是集合类的上级接口,继承于他的接口主要有 Set 和 List. Collections 是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索.排序.线程安全化等操作. 2.HashMap 和 Hashtable 的区别. HashMap 是 Hashtable 的轻量级实现(非线程安全的实现),他们都完成了 Map 接口,HashMap是非线程安全,效率上可能高于 Hashtable.在多个线程

【Java基础】Java类的加载和对象创建流程的详细分析

相信我们在面试Java的时候总会有一些公司要做笔试题目的,而Java类的加载和对象创建流程的知识点也是常见的题目之一.接下来通过实例详细的分析一下. 实例问题 实例代码 Parent类 1 package mytest.javaBase; 2 3 public class Parent { 4 int a = 10; 5 static int b = 11; 6 // 静态代码块 7 static { 8 System.out.println("Parent静态代码块:b=" + b)

黑马程序员——Java基础---集合框架工具类

黑马程序员——Java基础<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------ 一.概述 Java为操作Set.List和Map提供了一系列工具类,主要有Collections和Arrays.这两个工具类的特点:类中的方法都是静态的,不需要创建对象,直接使用类名调用即可.Collections:是集合对象