Java 面向对象 NO.1

1.类和对象的概念

类是对一类事物进行描述,是抽象的、概念上的定义;

对象是实际存在的该类事物的每个个体,因而也称实例

Java语言中定义类的语法如下:

[修饰符] class 类名
{
    定义构造方法;
    定义属性;
    定义方法;

}

创建两个具体英雄实例,为该实例的 name 属性、 age 属性赋值和 sex 属性赋值,并在控制台输出不同英雄对象的姓名、年龄和性别,调用各自英雄对象的 run()方法。

package ababab;

public class Hero {
	String name;
	int age;
	String sex;
	public void run(int speed) {
		System.out.println(speed+"m/s的速度飞速狂奔");
	}
	public static void main(String[] args) {
		Hero hero1 = new Hero();
		hero1.name = "黑暗游侠";
		hero1.age = 20;
		hero1.sex = "女";
		System.out.println("英雄的名字:"+hero1.name);
		System.out.println("英雄的年龄:"+hero1.age);
		System.out.println("英雄的性别:"+hero1.sex);
		hero1.run(30);
		System.out.println("-------------------");
		
		Hero hero2 = new Hero();
		hero2.name = "撼地神牛";
		hero2.age = 30;
		hero2.sex = "男";
		System.out.println("英雄的名字:"+hero2.name);
		System.out.println("英雄的年龄:"+hero2.age);
		System.out.println("英雄的性别:"+hero2.sex);
		hero2.run(60);
		
	}

}

 

2.对象和引用

类是一种引用数据类型,因此程序中定义的 Hero 类型的变量实际上是一个引用,它被存放在栈内存中,指向实际的 Hero 对象,而真正的 Hero 对象则存放在堆内存中。

 

创建防御塔类(TowerDefence),通过两个坐标属性显示防御塔所在位置 

public  class TowerDefense {
	int x;
	int y;
	public TowerDefense() {
		System.out.println("防御塔已经被实例化了");
	}
	
	public static void main(String[] args) {
		TowerDefense td = new TowerDefense();
		td.x=10;
		td.y=20;
		System.out.println("防御塔横坐标="+td.x+"纵坐标="+td.y);
	}

}

 

 

3.方法详解

方法是类或者对象的行为特征的抽象,是类或对象最重要的组成部分,通过方法可以实现对类的属性的操作。

方法声明格式如下

[<修饰符>] <返回类型> <方法名> ([参数列表]){方法体}

实践,代码如下:

public class tabe {
	String name;
	int age;
	
	public void battle() {
		System.out.println(name+"在肆无忌惮地战斗,他的年龄只有"+age+"可他的血量只有1%了...");
	}
	public static void main(String[] args) {
		tabe xxx = new tabe();
		xxx.name="魔王";
		xxx.age=15;
		xxx.battle();
	}

 

4.方法参数传递

参数的传递是指实际参数向形参值的传递的过程。

 

创建英雄类,在该类中定义战斗方法 battle (),在该方法中 int 类型变量 count,count 初始值为1

count 表示一个计数器,用于记录战斗的次数。

代码如下:

import java.util.Scanner;

public class xswl {
	int output;
	int count=1;
	
	public void battle() {
		output = output-1;
		if(output <= 0) {
			System.out.println("对不起您的英雄已牺牲");
		
			
		}
		System.out.println("第"+count+++"次攻击,您的英雄当前血量"+output);
	}
	public static void main(String[] args) {
		xswl xxx = new xswl();
		Scanner input = new Scanner(System.in);
		System.out.println("请输入英雄的血量");
		xxx.output=input.nextInt();
		for(int i =0;i<6;i++) {
			xxx.battle();
			
		}
		System.out.println("战斗结束后您的英雄血量值="+xxx.output);
	}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值