OOP(面向对象编程)基础一 —— Java语言
public class 类名 {//声明属性的格式private 数据类型 属性名;//定义方法的格式public 返回值数据类型 方法名(数据类型 参数名,...){//代码}}
public class Student {private String name;private double score;public void Study(){}}
?
在程序中我们定义了类,我们要用类来实例化对象。
//类名 对象名 = new 类名();Student stu = new Student();
???? 调用方法的格式:
//对象名.方法名(参数值,...);stu.setName("A");stu.study();?
对象是否可以作为参数进行传递?
public class Hero { private String name; private double blood;//定义一个设置姓名属性的方法 public void setName(String na){name = na; }//定义一个获取姓名属性值的方法 public String getName(){return name; }//定义一个设置血量属性的方法 public void setBlood(double bl){blood = bl; }//定义一个获取血量属性值的方法 public double getBlood(){return blood; }//对象mon作为参数进行传递 public void Fight(Monster mon) {mon.setBlood(mon.getBlood()-1);System.out.println(name+"砍了"+mon.getName()+"一滴血"); }}
public 类名(数据类型 参数名,...){//代码}
?例子:Student s1=new Student();
在这个例子中调用了?
public void study(){score++;System.out.println(name+"正在学习中,学分是"+score);}/** * 重载的学习方法 * @param score参数 * @reture 返回score学分 */protected double study(double score){this.score+=score;System.out.println(name+"正在学习中,学分是"+this.score);return this.score;}
?上面的例子中有study方法的重载,注意:
? 虽然study的类型不一样,根据定义任然是方法个重载。
?
六.this关键字
当属性名和参数名相同的时候,使用this关键字来区分,加上this的表示属性,没有加的则是参数。
例子:
String name=”NetJava”;Student st2=new Student(name);//构造时public Student(String name){ this.name=name;}?
?