一、定义类的语法结构:
[修饰符]class类名{
定义构造方法;
定义属性;
定义方法;
}
实例1:创建一个Dota的英雄类,并且定义其姓名和年龄
public class Hreo {
String name;
char sex;
public void run() {
System.out.println(name+"正在奔跑");
}
public static void main(String[] args) {
Hreo hreo = new Hreo();
hreo.name="黑暗游侠";
hreo.sex='M';
hreo.run();
}
}
实例2:创建Dota游戏中的防御塔,通过两个坐标属性显示防御塔所在的位置
public class TowerDefense{
int x;
int y;
public TowerDefense(){
System.out.println("防御塔已经被实例化");
}
public static void main(String[] args){
TowerDefense td = new TowerDenfense();
td.x = 10;
td.y = 20;
System.out.println("防御塔横坐标=" + td.x + " 纵坐标=” +td.y);
}
}
二、方法声明的语法结构:
[<修饰符>]<返回类型><方法名>([参数列表]){方法体}
实例3:添加英雄的攻击方式
public class Hreo {
String name;
char sex;
int atk;
public void run() {
System.out.println(name+"正在奔跑");
}
public void battle() {
System.out.println(name+"发动了攻击");
}
public static void main(String[] args) {
Hreo hreo = new Hreo();
hreo.name="黑暗游侠";
hreo.sex='M';
hreo.run();
hreo.battle();
}
}
实例4:定义英雄的攻击方式
import java.util.Scanner;
public class Hreo {
String name;
char sex;
int output;
public void battle() {
output-=10;
}
public void hreo() {
Scanner sc = new Scanner(System.in);
System.out.println("请输入英雄的血量[1~100]:");
output = sc.nextInt();
}
public static void main(String[] args) {
int num=1;
Hreo hreo = new Hreo();
hreo.hreo();
do {
hreo.battle();
num++;
System.out.println("第"+num+"次攻击,您的英雄当前血量为"+hreo.output);
}while(hreo.output>0);
System.out.println("您的英雄已经牺牲");
}
}
三、可变方法的声明格式:
[<修饰符>]<返回类型><方法名>(变量类型...变量名){方法体}
(如果在定义方法时,在最后一个形参的类型后增加“…”,则表明该形参可以接受多个参数值,多个参数值被当成数据传入。)
public class VarargsTest{
public static void testVarargs(String[] args){
for(String user:users){
System.out.println(user);
}
}
public static void main(String[] args){
testVarargs(3,"张小文","王艺儒","李晨生");
}
}
课堂总结:本节课已经对Java面向对象中方法和对象的创建与运用有一定的了解,但是在方法调用方面还是不太熟练。