达内快乐的学习生活又要开始了!
今天预习大纲
1.什么是类?什么是对象?
如何创造类?如何创建对象?如何访问成员?
方法的重载。
回顾
1.数组的复制
System.arraycopy(a,1,b,1,2)
int[] b = Arrays.copeOf(a,6);
a = Arrays.copyOf(a,a.length+1)
排序:
Arrays.sort(arr);
2.方法
封装一段特定的;逻辑功能,尽可能的独立,只干一件事
可以反复调用,减少代码量,有利于代码维护
定义
修饰词 返回值类型 方法名(参数){
方法体
}
调用
有返回值需要声明变量,将返回值赋值给这个变量。
面向对象
基础语法:
OO:面向对象
OOA:面向对象分析
OOD:面向对象设计
OOP:面向对象编程
面向对象中,对象就是指一个真是存在的物体,eg:鸡,鸭,鹅,人,书等。对象一般都有属性和行为。
有相同特征/属性(变量)的一类物品被称为一个类。类除了有相同特征以外,还有相同的行为/动作/功能(方法)。用class声明一个类名。
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 StudengTest {
public static void main(String[] args) {
Student gxl =new Student();
gxl.name="龚兴龙";
gxl.age=18;
gxl.address="成都";
gxl.study();
gxl.sayHi();
Student wkj =new Student();
wkj.name="wkj";
wkj.age=38;
wkj.address="河北廊坊";
wkj.study();
wkj.sayHi();
Student wwb =new Student();
wwb.name="万宝";
wwb.age=18;
wwb.address="双流";
wwb.study();
wwb.sayHi();
}
}
重载:overload/overloading
重载与声明的名称有关,与参数类型有关,与参数的名称无关。
对我的水平来说感觉解释不出来,就举例说明了。
一般来说,一个方法的返回值类型是固定的。整形只能返回整形,字符串类型只能返回字符串类型。但是,我们曾经遇见过一个方法。System.out.println(),我们发现里面返回的值各种各样,这就和以前学的一个方法的规则相违背。但实际上,他不是一个方法,而是很多方法组成的,两个方法中,如果只有返回值类型不同,其他的相同,这其实是两种方法,这就被称为重载。
System.out.println(); System.out.println(int a); System.out.println(float a); System.out.println(String a);***潜艇日记***
今天开始做项目了,往后十天基本上就是围绕着项目做了。
项目需求:
(1):找对象,所参与的角色:战舰、侦查潜艇、鱼雷潜艇、水雷潜艇、炸弹
对象之间的关系:
~战舰发射炸弹。
~炸弹打潜艇,若打中了:
~~~潜艇消失,炸弹消失
~~~打中不同潜艇得不同分
~水雷潜艇发射水雷.
~水雷打战舰,若打中了
~~水雷消失
~~战舰life-1,life为0时,gameover
创建类在项目中,先建一个包,然后建立一个测试类,带main()方法。如果在同个文件中再建立一个类,不能加public。如果在新文件中创建类需要加public这类的语言。
建立了7个类,main在World中。
public class Battleship {
//什么属性:width,height,x,y,speed,life
//行为:shootBomb(),move()
int width;
int height;
int x;
int y;
int speed;
int life;
void move(){
System.out.println("战舰移动啊");
}
}
package cn.tedu.submarine;
public class World {
public static void main(String[] args) {
Battleship s = new Battleship();
s.height =50;
s.width=50;
s.x=100;
s.y=200;
s.life=1;
s.speed=10;
s.move();
System.out.println(s.x+" "+s.speed+" "+s.y+" "+s.width+" "+s.height+" "+s.life);
}
}
在一个包且必须在一个包中时,World类。如果想要用World类使用Battleship的东西,需要先new一个Battleship,再使用里面的东西。
周末有点累,写的有点少。整理一下状态,迎接新的一周吧。



