技能点:类与对象定义、创建、技能点;
一、类与对象;
*类是对象的模板,对象是类的具体实例;
*类包含成员变量(对象属性)与方法(对象功能);
二、类与对象的创建;
// i.成员变量、方法; ii.创建学生对象、访问成员变量、调用方法;
public class Student{
//成员变量;
String name;
int age;
String address;
//方法;
void study(){
System.out.println(name+"在学习");
}
void sayHi(){
System.out.println("我叫"+name+",今年"+age+"岁了,家住"+address);
}
}
public class StudentTest{
public static void main(String[] args){
//创建对象;
Student zs=new Student();
//访问成员变量;
zs.name="zhangsan";
zs.age=25;
zs.address="山东菏泽";
//调用方法;
zs.study();
zs.sayHi();
Student ls=new Student();
ls.study();
ls.sayHi();
//创建了一个学生对象
//给成员变量赋默认值;
}
}
三、方法的重载(overload/overloading);
*同一类,方法名相同,参数列表不同;
*编译会根据签名自动绑定方法;(签名:方法名+参数列表;)
public class OverloadDemo{
public static void main(String[] args){
Aoo o=new Aoo();
o.show();
o.show("zhangsan");
o.show(20);
o.show("zhangsan",25);
o.show(25,"zhangsan");
// o.show(25.678);//没有double型参数的show方法;
}
}
class Aoo{
void show(){}
void show(String name){};
void show(int age){};
void show(String name,int age){};
void show(int age,String name){};
//int show(){ return 1;} //编译错误,重载与返回值类型无关;
//void show(String address){} //编译错误,重载与参数名称无关;
}
补充:类:是一种引用数据类型;
潜艇大战游戏需求
*参与的角色:
*战舰、炸弹、水雷、侦查潜艇、鱼雷潜艇、水雷潜艇。
*角色间的关系:
a.战舰发射炸弹;
b.炸弹可以打潜艇
*潜艇、炸弹都消失;
*得东西(打侦查+10分,打鱼雷+40分,打水雷潜艇,战舰+1条命;)
c.水雷潜艇发射水雷;
d.水雷可以打战舰;
*水雷消失;
*战舰减一条命(命数为0游戏结束)