类的定义及使用
先看个简单的例子:
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就可以了,主函数中调用方法时也需要定义一个变量来接受方法的返回值。