一、一个类可以产生无数的对象,类就是模板,对象就是具体的实例。 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));
运行结果:



