public class Counter{ int num1; int num2; public Counter( int num1, int num2 ){ this.num1 = num1; this.num2 = num2; } public Counter(){ } public void plus(){ int result = num1 + num2; System.out.println(result); } public void plus( int num1, int num2){ int result = num1 + num2; System.out.println(result); } } public class TestCounter{ public static void main(String[] args) { Counter test1 = new Counter(5, 6); test1.plus(); test1.plus(10,8); System.out.println(test1.num1); Counter test2 = new Counter(); test2.plus(); test2.plus(19, 58); System.out.println(test2.num1); } }
代码如上所示java
1 首先分析,须要解决的问题是 实现对两位数的四种运算,两位数为数值,能够用属性变量来表达;运算为操做,为进程,能够用方法(函数)来进行;函数
所以在类中首先须要对两个属性进行初始化;int num1; int num2;学习
2 进而须要对四种运算分别表达成四种方法,即public void plus(){表达式} public void sub(){表达式}......this
在java中,在定义方法的时候须要考虑的是(1)方法有无返回值;(2)方法是否有入参,及入参的属性(参数的类型,数量,顺序);spa
更进一步的考虑是按照要求来决定是否赋予新建对象的两个属性初值,这就用到了构造方法(构造函数)code
实现对两个变量进行四种方法运算,在学习中,为了简便,咱们对定义的对象赋予初值(经过构造方法进行实现)。对象
3 四种运算具体化为四种方法的时候,咱们采用了非静态无参方法与非静态有参方法进行实现;进程
非静态无参方法很简单,在建立对象的时候就给对象的两个属性变量赋予了初值(经过构造方法)。class
非静态有参方法则是:对于给定的两个参数,进行方法进程。(注意,此时传递的是值,并非对象的属性变量,由于方法是非静态的,因此在这里,构造的对象的做用仅仅是起到了提供方法入口的做用,没法经过参数对属性变量进行修改) test
4 对于下面使用this关键字的代码
public Counter( int num1, int num2 ){ this.num1 = num1; this.num2 = num2; }
括号中的num1与num2仅表示入参不表明类中的属性,只是为了阅读的方便与习惯,this表示“当前对象”,这一经常使用句式通常用来利用构造函数在建立对象时对对象进行赋值。