1.如何定义类
成员变量:对应事物的属性
成员方法:对应事物的行为
类定义的格式
定义类:就是定义类的成员,包括成员变量和成员方法
成员变量:和以前定义变量几乎是一样的。只不过位置发生了改变。在类中,方法外。
成员方法:和以前定义方法几乎是一样的。只不过把static去掉,static的作用在面向对象
2.定义方法也如下
类的定义格式举例
public class Person {
//定义成员变量
private String name;//姓名
private int age;//年龄
private char gendar;//性别
//定义成员方法
/**
* study方法
*
*/
public void study(){
System.out.println("好好学学习,天天向上");//这是定义方法
}
/**
* sleep();睡觉
*/
public void sleep(){
System.out.println("学习一天了,可以睡觉了");//这是定义方法
}
}
3.一般格式如下:
访问修饰符 返回值 方法名(参数){
方法体
}
访问修饰符一般是public
没有返回值就是void 也有8种数据类型如 int ,String
创建对象的语法如下:
(不创建对象无法用方法)
类名 对象名=new 类名();//无参列如 Student stu=new Student();
类名 对象名=new 类名(参数);
列如:
假如类名是 huan 对象名是自己起的
huan huan1=new huan();
使用这个方法
huan1.方法名();
4.构造方法:如下
在一个类中定义的方法如果同时满足以下三个条件,该方法称为构造方法,具体如下:方法名与类名相同。
在方法名的前面没有返回值类型的声明。
在方法中不能使用return语句返回一个值。
接下来通过一个案例来演示如何在类中定义构造方法。class Person {
public Person() {
System.out.println("无参构造方法 ...");
}
}
public class Example {
public static void main(String[] args) {
Person person = new Person();
}
}
运行结果:无参构造方法 ...
Person类中定义了一个无参的构造方法Person()。从运行结果可以看出,Person类中无参的构造方法被调用了。这是因为在实例化Person对象时会自动调用类的构造方法,“new Person()”语句的作用除了会实例化Person对象,还会调用构造方法Person()。
在一个类中除了定义无参的构造方法,还可以定义有参的构造方法,通过有参的构造方法就可以实现对属性的赋值。class Person {
int age;
public Person(int a) {
age = a;
}
public void speak() {
System.out.println("codingwhy的岁数是:" + age);
}
}
public class Example {
public static void main(String[] args) {
Person person = new Person(20);
person.speak();
}
}
运行结果:codingwhy的岁数是:20
Person类中定义了有参的构造方法Person(inta)。代码中的“new Person(20)”会在实例化对象的同时调用有参的构造方法,并传入了参数20。在构造方法Person(int a)中将20赋值给对象的age属性。通过运行结果可以看出,Person对象在调用speak()方法时,其age属性已经被赋值为20。
5.什么是可变参数,怎么用:
声明可变参数的语法格式如下:
methodName({paramList},paramType…paramName)
其中,methodName 表示方法名称;paramList 表示方法的固定参数列表;paramType 表示可变参数的类型;… 是声明可变参数的标识;paramName 表示可变参数名称。
注意:可变参数必须定义在参数列表的最后。
例 1
每次参加考试的人数是不固定的,但是每次考试完之后都需要打印出本次考试的总人数以及参加考试的学生名单。下面编写程序,使用方法的可变参数实现该功能,具体的代码如下:
1. public class StudentTestMethod {
2. // 定义输出考试学生的人数及姓名的方法
3. public void print(String...names) {
4. int count = names.length; // 获取总个数
5. System.out.println("本次参加考试的有"+count+"人,名单如下:");
6. for(int i = 0;i < names.length;i++) {
7. System.out.println(names[i]);
8. }
9. }
10. public static void main(String[] args) {
11. // TODO Auto-generated method stub
12. StudentTestMethod student = new StudentTestMethod();
13. student.print("张强","李成",""); // 传入3个值
14. student.print("马丽","陈玲");
15. }
16. }
在 Student TestMethod 类中定义了 print() 方法和 main() 方法。print() 方法声明了一个 String 类型的可变参数,方法体打印可变参数的总个数以及参数值。在 main() 方法中创建了 StudentTestMethod 类的实例,然后分别传入不同个数的参数调用 print() 方法。
运行 StudentTestMethod 类,输出结果如下:
本次参加考试的有3人,名单如下:
张强
李成
本次参加考试的有2人,名单如下:
马丽
陈玲
学无止境,加油