心得感悟
学习的第三天,我终于对Java的各种方法、类和对象有了点感觉,好像可以理解一点了,这也得益于今天文案教学后有一段代码实例。有些困难的确是不经历时是困难,经历了就不是困难了。因为自己面对时,硬着头皮也要上,就会想出各种方法区解决。这个扑克游戏对目前的我来说还是比较困难的,不过慢慢分析应该能有所收获。
1. 目的
- 一、继续掌握Java的一些基本方法的使用
- 二、扑克牌游戏结构分析
2. 内容简概
- 一、了解对象的赋值方法
- 二、了解构造方法
- 三、了解方法的重载
- 四、了解this的用法
- 五、了解static的用法
- 六、扑克牌游戏结构分析
3. 具体内容
-
一、了解对象的赋值方法
1. 对于public修饰的属性,要使用对象可以直接调用
p.number = 'A';
2. 对于private修饰属性,不能直接调用,只能间接使用
- setter方法
给外部提供一个set方法,通过这个方法间接给number赋值,可以对外部的值进行控制- 构造方法(initWith)
创建一个类的一个对象时 就会被调用的方法
private String number;
public void setNumber(String num){
if(num.length < 3 ){
number = num;
}
}
- getter方法
给外部提供一个get方法 访问某个变量的值
//给外部提供一个get方法 访问某个变量的值
public String getNumber(){return number;}
间接赋值
Poker p= new Poker();
p.setNumber("jacker"); //间接赋值
快捷键添加set/get方法
1.点击蓝色方块处或按快捷键Alt+Insert
2.选择添加哪一个(set/get/二者都要)
3.选择为谁添加(private对象)
4.添加成功
-
二、了解构造方法
- 构造方法(initWith)
创建一个类的一个对象时 就会被调用的方法
- 什么时候使用?
a.希望在对象创建的时候 做点其他事情
b.在对象创建的时候,需要给属性赋值,自定义构造方法
//类的默认构造方法
public Poker(){
System.out.println("构造方法");
}
Poker pp = new Poker(); //创建类的对象
-
三、了解方法的重载
方法重载:同一个类里面有多个同名方法 但是返回值或参数不同,如:
public int nextInt();
public int nextInt(int i);
public Poker(){
System.out.println("构造方法");
}
//构造方法的重载 自定义一个有参数的构造方法
public Poker(String number,String color){
System.out.println("自定义的构造方法");
}
-
四、了解this的用法
//变量在使用的时候有就近原则
public Poker(String number,String color){
//调用构造方法的时候 这个对象在内存里面已经分配好了
//这里的This指的是 创建的这个对象
this.number = number;
this.color = color;
System.out.println("自定义的构造方法");
}
//某一个方法里面调用this指的是 调用这个方法的对象
public void setColor(String color) {
this.color = color;
}
- 什么时候用this?
需要明确指定调用的是这个对象自己的一些属性和方法
public void t1(int...ages){
bigerThen(null);
//或 this.bigerThen(null);
}
-
五、了解static的用法
static修饰的属性和方法都会在对象创建之前优先加载
修饰的属性称为静态属性
修饰的方法称为静态方法
- 方法种类
实例方法/对象方法:必须创建某一个对象才能调用的方法
类方法/静态方法:不需要创建对象,直接用这个类来调用
- 通过static关键字进行区分,方法类型说明符前有satic关键字的为类方法,无关键字的为实例方法
public void test(){
System.out.println("这是对象方法");
}
public static void test2(){
System.out.println("这是静态方法");
}
如何使用实例方法和类方法
public String name;
public static String addr;
class T2{
public static void main(String[] args){
//使用类的实例方法/对象方法
MyClass c1 = new MyClass();
c1.test();
//使用类方法/静态方法
MyClass.test2();
//注意静态方法里面不能调用这个类的属性和非静态方法
public void test(){
System.out.println("这是对象方法");
}
public static void test2(){
System.out.println("这是静态方法");
test();//不能调用
name = "Jack"; //不能调用
MyClass.addr = "jack"; //调用静态属性
}
}
- 什么时候需要写静态方法?
a.工厂设计模式Factory
b.当不需要记录数据 只关心功能 就可以使用静态方法
- 静态属性:
1.定义一个常量 只能赋值一次
2.单例设计模式
MyClass.addr = "jack"; //调用静态属性
-
六、扑克牌游戏结构分析
详细的分析和过程我将写在下一篇文章中
结构分析
网友评论