类的定义及使用
先看个简单的例子:
package Hello;
/**
* 类名必须与文件名一致
* @author Huke
*
*/
public class Person {
String name;//定义属性
int age;
/**
* 定义方法,public是指公共权限,void是空返回值,speak是方法名,括号里面可以添加参数
*/
public void speak(){
System.out.println("我叫"+name+", 我今年"+age+"岁了");
}
public static void main(String[] args) {
//定义一个person类对象zhangsan
Person zhangsan;
//实例化对象
zhangsan=new Person();
//给属性赋值
zhangsan.name="张三";
zhangsan.age=18;
//调用对象的方法
zhangsan.speak();
}
}
这个例子中定义了一个简单的类Person,里面有属性name和age,还有无参方法speak;
在使用person类之前,必须先定义且实例化对象,这两个步骤一般是一起进行的;
实例化对象完之后,可以给类中的属性赋值,语法是:对象名.属性=取值;
也可以调用类中的方法,语法是:对象名.方法;
且主函数一定要写在person类里面才可以
方法的定义及使用
1.无参方法
package Hello;
public class Person {
public void speak(){
System.out.println("我是张三");
}
public static void main(String[] args) {
Person person=new Person();
person.speak();
}
}
2.有参方法,姓名属性在调用方法是时候给出
package Hello;
public class Person {
public void speak(String name){
System.out.println(name);
}
public static void main(String[] args) {
Person person=new Person();
person.speak("张三");
}
}
还可以添加多个参数,分别用逗号隔开
package Hello;
public class Person {
public void speak(String name,int age){
System.out.println("我叫"+name+", 我今年"+age+"岁了");
}
public static void main(String[] args) {
Person person=new Person();
person.speak("张三",18);
}
}
3.比如再添加一个爱好参数,且参数不固定
package Hello;
public class Person {
public void speak(String name,int age,String ...hobbies){
System.out.println("我叫"+name+",我今年"+age+"岁了");
for(String hobby:hobbies){
System.out.println(hobby+" ");
}
}
public static void main(String[] args) {
Person person=new Person();
person.speak("张三", 18, "游泳","唱歌","跳舞","下棋");
}
}
4.方法的返回值:返回hobbies的个数
package Hello;
public class Person {
public int speak(String name,int age,String ...hobbies){
System.out.println("我叫"+name+",我今年"+age+"岁了");
for(String hobby:hobbies){
System.out.println(hobby+" ");
}
int changdu=hobbies.length;
return changdu;
}
public static void main(String[] args) {
Person person=new Person();
int n=person.speak("张三", 18, "游泳","唱歌","跳舞","下棋");
System.out.println("我有"+n+"个爱好");
}
}
输出结果:
我叫张三,我今年18岁了
游泳
唱歌
跳舞
下棋
我有4个爱好
可以看到其中要获取hobbies的长度,可以将其看作数组来做操作,直接用hobbies.length就可以了,主函数中调用方法时也需要定义一个变量来接受方法的返回值。