赞
踩
class 类名 {
类体;
}
注:通常情况下,当类名由多个单词组成时,要求每个单词首字母都大写,如:class StudentName
class 类名 {
数据类型 成员变量名 = 初始值;
}
注:当成员变量由多个单词组成时,通常要求从第二个单词起每个单词的首字母大写,如:String studentName
new 类名(); // 不能丢掉小括号,如:new StudenName(),此对象没有名字,称为**匿名对象**
注:
a. 当一个类定义完毕后,可使用new关键字来创建该类的对象,这个过程叫做类的实例化
b. 创建对象的本质:在内存空间的堆区申请一块存储区,以存放该对象独有的特征信息
类名 引用变量名; // StudentName s = new StudentName();
引用变量名.成员变量名; // s.name = “LanceMai”;
/* 编程实现Person类的定义 */ public class Person { // 数据类型 成员变量 = 初始值; // 其中初始值通常省略不写(与局部变量不同) String name; // 用于描述姓名的成员变量(默认为null) int age; / 用于描述年龄的成员变量(默认为0)(局部变量没有默认值) public static void main(String[] arge) { // 1.声明person类型的引用指向Person类型的对象 // 数据类型(类名) 引用变量名 = new 类名(); Person p = new Person(); // 2.打印对象中的成员变量值 // 引用变量名.成员变量名 System.out.println("我是" + p.name + ",今年" + p.age + "岁了!"); //null // 3.修改成员变量的数值 p.name = "张飞"; p.age = 30; // 4.再次打印 System.out.println("我是" + p.name + ",今年" + p.age + "岁了!"); //张飞 30 } }
/* 编程实现Point类的定义 */ public class Point { // 1.定义成员变量 int xAxis; int yAxis; public static void main(String[] args) { // 2.声明Point类型的引用指向Point对象并打印特征 Point p = new Point(); System.out.println("坐标是" + "(" + p.xAxis + " ," + p.yAxis + ")"); System.out.println("---------------------------------------------"); // 3.将横纵坐标修改为3和5,再次打印 p.xAxis = 3; p.yAxis = 5; System.out.println("修改后坐标是" + "(" + p.xAxis + " ," + p.yAxis + ")"); } }
class 类名 {
返回值类型 成员方法(形参列表) {
成员方法体;
}
}
// 当成员方法名由多个单词组成时,要求从第二个单词起每个单词的首字母大写
引用变量名.成员方法名(实参列表);
/* 编程实现Point类的定义 */ public class Point { // 1.定义成员变量 int xAxis; int yAxis; // 自定义成员方法实现所有成员变量的打印 // 返回值类型 方法名称(形参列表) { 方法体; } void show() { // 成员变量和成员方法都属于类内部的成员,因此可以直接访问成员变量,不需要再加引用.的前缀 System.out.println("坐标是" + "(" + xAxis + " ," + yAxis + ")"); } public static void main(String[] args) { // 2.声明Point类型的引用指向Point对象并打印特征 Point p = new Point(); //System.out.println("坐标是" + "(" + p.xAxis + " ," + p.yAxis + ")"); // 调用方法的本质:根据方法名跳转过去执行,然后再返回此处 p.show(); System.out.println("---------------------------------------------"); // 3.将横纵坐标修改为3和5,再次打印 p.xAxis = 3; p.yAxis = 5; //System.out.println("修改后坐标是" + "(" + p.xAxis + " ," + p.yAxis + ")"); p.show(); } }
/* 编程实现Point类的定义 */ public class Point { // 1.定义成员变量 int xAxis; int yAxis; // 自定义成员方法实现所有成员变量的打印 // 返回值类型 方法名称(形参列表) { 方法体; } void show() { // 成员变量和成员方法都属于类内部的成员,因此可以直接访问成员变量,不需要再加引用.的前缀 System.out.println("坐标是" + "(" + xAxis + " ," + yAxis + ")"); } // 自定义成员方法实现将横坐标修改为参数指定数值的行为 void setX(int i) { xAxis = i; } // 自定义成员方法实现将横坐标修改为参数指定数值的行为 void setY(int j) { yAxis = j; } public static void main(String[] args) { // 2.声明Point类型的引用指向Point对象并打印特征 Point p = new Point(); //System.out.println("坐标是" + "(" + p.xAxis + " ," + p.yAxis + ")"); // 调用方法的本质:根据方法名跳转过去执行,然后再返回此处 p.show(); System.out.println("---------------------------------------------"); // 3.将横纵坐标修改为3和5,再次打印 p.xAxis = 3; p.yAxis = 5; //System.out.println("修改后坐标是" + "(" + p.xAxis + " ," + p.yAxis + ")"); p.show(); // 通过调用成员方法实现横纵坐标的修改 p.setX(10); p.setY(15); p.show(); } }
/* 编程实现Person类的定义 */ public class Person { // 数据类型 成员变量名 = 初始值; - 其中=初始值 通常都省略不写 String name; // 用于描述姓名的成员变量 int age; // 用于描述年龄的成员变量 // 自定义成员方法实现所有成员变量的打印 // 返回值类型 方法名称(形参列表) { 方法体; } void show() { // 成员变量和成员方法都属于类内部的成员,因此可以直接访问成员变量不需要再加引用.的前缀 System.out.println("我是" + name + ",今年" + age + "岁了!"); } public static void main(String[] args) { // 1.声明Person类型的引用指向Person类型的对象 // 数据类型(类名) 引用变量名 = new 类名(); Person p = new Person(); // 2.打印对象中的成员变量值 // 引用变量名.成员变量名 //System.out.println("我是" + p.name + ",今年" + p.age + "岁了!"); // null 0 // 引用变量名.成员方法名(实参列表); // 调用方法的本质就是根据方法名跳转过去执行方法体后再跳转回这个位置 p.show(); System.out.println("-----------------------------------------------------"); // 3.修改成员变量的数值 p.name = "zhangfei"; p.age = 30; // 4.再次打印修改后的数值 //System.out.println("我是" + p.name + ",今年" + p.age + "岁了!"); // zhangfei 30 p.show(); } }
/* 编程实现Person类的定义 */ public class Person { // 数据类型 成员变量名 = 初始值; - 其中=初始值 通常都省略不写 String name; // 用于描述姓名的成员变量 int age; // 用于描述年龄的成员变量 // 自定义成员方法实现所有成员变量的打印 // 返回值类型 方法名称(形参列表) { 方法体; } void show() { // 成员变量和成员方法都属于类内部的成员,因此可以直接访问成员变量不需要再加引用.的前缀 System.out.println("我是" + name + ",今年" + age + "岁了!"); } // 自定义成员方法:将姓名修改为参数指定的数值 void setName(String s) { name = s; } // 自定义成员方法:将年龄修改为参数指定的数值 void setAge(int i) { age = i; } public static void main(String[] args) { // 1.声明Person类型的引用指向Person类型的对象 // 数据类型(类名) 引用变量名 = new 类名(); Person p = new Person(); // 2.打印对象中的成员变量值 // 引用变量名.成员变量名 //System.out.println("我是" + p.name + ",今年" + p.age + "岁了!"); // null 0 // 引用变量名.成员方法名(实参列表); // 调用方法的本质就是根据方法名跳转过去执行方法体后再跳转回这个位置 p.show(); System.out.println("-----------------------------------------------------"); // 3.修改成员变量的数值 p.name = "zhangfei"; p.age = 30; // 4.再次打印修改后的数值 //System.out.println("我是" + p.name + ",今年" + p.age + "岁了!"); // zhangfei 30 p.show(); // 5.通过成员方法的调用实现成员变量的修改 p.setName("关羽"); p.setAge(32); p.show(); } }
// 自定义成员方法实现将姓名和年龄修改为参数指定数值的行为
void setNameAge(String s, int i) {
name = s;
age = i;
}
// 调用
p.setNameAge("刘备", 40);
或者:
p.setNameAge("刘" + "备", 40);
// 自定义成员方法实现姓名数值的获取并返回的行为
String getName() {
return name; // return之后的语句不再执行
}
// 自定义成员方法实现姓名数值的获取并返回的行为
int getAge() {
return age;
}
// 调用
String str1 = p.getName();
int int1 = p.getAge();
// 自定义成员方法实现获取横坐标数值并返回的行为
int getXAxis() {
return xAxis;
}
// 自定义成员方法实现获取横坐标数值并返回的行为
int getYAxis() {
return yAxis;
}
// 调用
int int1 = p.getXAxis();
int int2 = p.getYAxis();
返回值类型 方法名(参数类型 … 参数名)
// 声明 void showArgument(String... args) { for(int i=0; i<args.length; i++) { System.out.println(args[i]); } } // 调用 p.showArgument(); p.showArgument("参数1"); p.showArgument("参数1", "参数2"); // 也可以在可变长形参前面再加形参 void showArgument(int a, String... args) { for(int i=0; i<args.length; i++) { System.out.println(args[i]); } }
// max() 方法功能是求最大值, 以下例子省略一些细节了
int max(int ia, int ib) {... ... ...}
int a = 5; int b = 6; int res = m.max(a, b);
/* 编程实现类方法中参数的传递 */ import java.util.Arrays; public class Pass { // 定义一个方法 void show(int[] arr) { arr = new int[arr.length]; arr[0] = 111111; System.out.println(Arrays.toString(arr)); // [111111, 0, 0] System.out.println(arr); // [I@2a33fae0 } public static void main(String[] args) { int[] arr1 = new int[]{1,2,3}; // 声明Pass类型的引用指向Pass类型的对象 Pass p = new Pass(); p.show(arr1); System.out.println(Arrays.toString(arr1)); // [1, 2, 3] System.out.println(arr1); // [I@707f7052 } } // 此时形参arr1的改变不会影响到arr2,因为arr1和arr2指向不同的内存空间
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。