一、一个类可以产生无数的对象,类就是模板,对象就是具体的实例。 1.类中定义的属性,大概分为几类:类属性,对象属性。 2.其中被static所修饰的数据属性称为类属性, static修饰的方法称为类方法,特点是不依赖于对象,我们只需要通过类名就可以调用其属性或者方法。 3.静态代码块优先实例代码块执行,实例代码块优先构造函数执行。 4.this关键字代表的是当前对象的引用。并不是当前对象。 二、对类和对象的代码练习 1、编写一个类Calculator,有两个属性num1,num2,这两个数据的值,不能在定义的同时初始化,最后实现加减乘除四种运算.
class Calculator{ private int num1; private int num2; public int getNum1() { return num1; } public void setNum1(int num1) { this.num1 = num1; } public int getNum2() { return num2; } public void setNum2(int num2) { this.num2 = num2; } public int add() { return this.num1+this.num2; } public int sub() { return this.num1-this.num2; } public int mul() { return this.num1*this.num2; } public double dev() { return this.num1*1.0/this.num2; } } public class Test2 { public static void main1(String[] args) { Calculator calculator = new Calculator(); calculator.setNum1(10); calculator.setNum2(20); System.out.println(calculator.add()); System.out.println(calculator.sub()); System.out.println(calculator.mul()); System.out.println(calculator.dev()); } } 运行结果: 2、实现交换两个变量的值。要求:需要交换实参的值。
class MyValue { public int val; }
public class Test2{
public static void swap(MyValue mv1,MyValue mv2){ int tmp = mv1.val; mv1.val = mv2.val; mv2.val = tmp; } public static void main2(String[] args) { MyValue myValue1 = new MyValue(); myValue1.val = 10; MyValue myValue2 = new MyValue(); myValue2.val = 20; System.out.println(myValue1.val+" "+myValue2.val); swap(myValue1,myValue2); System.out.println(myValue1.val+" "+myValue2.val); } } 运行结果:
3、给定两个整型数组, 交换两个数组的内容.
import java.util.Arrays; class MyArray{ public int [][] Arr(int[]a,int[]b){ int tmp []= a; a = b; b = tmp; int result[][] = {a,b} ; return result; } } public class Test2{ public static void main(String[] args) { int []a = {1,2,3,4,5}; int []b = {6,7,8,9,10,11}; MyArray myArray = new MyArray(); int [][] array = myArray.Arr(a,b); a = array[0]; b = array[1]; System.out.println(Arrays.toString(a)); System.out.println(Arrays.toString(b)); 运行结果: