目的:通过一些实践和理论概念的解释,来对Java中的方法进行了解与实际运用。
技术:类的默认构造方法;
Setter和Getter方法;
技术的实际使用:
1.类的默认构造方法:
构造方法其实就是初始化方法,创建一个类的一个对象的时候,就会被调用。
class T2{
public static void main(String[] args){
/**
*每个类会默认提供一个构造方法,方法名就是类的名称,不需要加参数
*public Myclass(){
*}
*/
Myclass c1=new Myclass();//这里是创建一个类的对象,最后的括号表示调用了一个默认的构造函数,
c1.test();
}
class Myclass{
public static String addr;
public void test(){
System.out.println("");
}
//类的默认构造方法
public poker(){
//调用构造方法的时候 这个对象已经在内存空间里分配好内存了
//这里的this指的是 创建这个对象
this.number="2";
this.color="♠";
//对于这个对象,一旦创建,它的初始值都是一样的,因为初始化默认构造方法里面做的。
//外部无法传值,所以尽量不要在构造方法里面初始化值
System.out.println("构造方法");
}
p.setNumber("jake");
p.getNumber();
System.out.println(p.getNumber());
poker pp=new poker();
System.out.println(pp.getNumber());
System.out.println(pp.getColor());
poker pp2=new poker("K","♦");
System.out.println(pp2.getNumber());
System.out.println(pp2.getColor());
解决上面的问题可用构造方法的重载。
方法重载:同一个类里面有多个同名的方法 但是返回值或者参数不同
如:public int nextInt();
public int nextInt(int i);
//构造方法的重载 重新写一个有参数的构造方法
//通常给一个属性赋值 形参名尽量和属性名一致
//方法里面的变量作用域只包括在方法里面,出了这个方法外面就没用了
//变量在使用的时候有就近原则
public poker(String num,String col){
number="2";
color="♠";
System.out.println("自定义的构造方法");
}
2.Setter和Getter方法
说到这,就不得不说给对象赋值的几种方式。
/**1.对于pulic修饰的属性 使用对象直接调用
* p.number='A';
* 2.对于private修饰属性 不能直接调用 只能间接使用
*/
对于private修饰属性只能间接使用,我们可以采用setter和getter方法来访问它的值。
private String number;
private String color;
//定义了一个方法
//给外部提供一个set方法 通过这个方法间接给number赋值,这里这个方法是公开的,但属性是私密的。
//可以对外部的值进行控制
public void setNumber(String num){
number=num;}
//给外部提供一个get方法 访问某个变量的值
public String getNumber(){
return "jake";
}
public class Testday3 {
public static void main(String[] args){
//settter/getter方法使用
poker p=new poker();
p.setNumber("jake");
p.getNumber();
System.out.println(p.getNumber());
}
注意:建议将getter/setter方法定义在类的最后面 避免干扰阅读
总结:以上就是Java中的类的默认构造方法和setter/getter方法的一个大概,肯定还是有许多的点没有补充,将就将就吧,嘿嘿!!!