类
定义类可以按照3个步骤
1.定义类名
2.编写类的属性
3.编写类的方法
// 定义类名
class Person {
// 编写类的属性
int age;
String name;
// 编写类的方法
void sayName() {
System.out.println(name);
}
// 编写类的方法
int getAge() {
return age;
}
}
成员方法
类的方法
public 返回值类型 方法名(参数列表){
//方法的主体
}
返回值类型如果是void没有return语句,否则return必须和返回值类型一致
对象
没有对象?new一个(狗头警告)
public static void main(String[] args) {
Person p1 = new Person();
p1.name = "Olympus";
p1.age = 19;
p1.sayName();
System.out.println("我的年龄是" + p1.getAge());
}
输出
Olympus
我的年龄是19
成员变量和局部变量
直接在类中声明的是成员变量,在方法中声明的是局部变量。局部变量的作用域只能在对应方法中使用
class Person {
int age; // 成员变量
String name; // 成员变量
void sayName() {
String text = "我的名字是"; // 局部变量
System.out.println(text + name);
}
// 编写类的方法
int getAge() {
return age;
}
}
当局部变量中的名字和成员变量的名字相同是,局部变量优先
void sayName() {
String text = "我的名字是";
int age = 29;
System.out.println(text + name);
System.out.println("sayName中的age是" + age);
}
输出
我的名字是Olympus
sayName中的age是29
包
通过不同的包可以区分同名的类,package指定了该类只在这个包中
package com.newpackage;
public class Flower {
public void saySomething() {
System.out.println("这是另一个包的类Flower");
}
}
需要通过import引入对应这个包的类
package com.company;
import com.newpackage.Flower;
public class Practise {
public static void main(String[] args) {
Flower f1 = new Flower();
f1.saySomething();
}
}
正常输出
这是另一个包的类Flower
导入包时可以使用完全限定名,如
import java.util.Date;
或者包中的所有类,如
import java.util.*;
包的命名有规范,包名由小写字母组成,一般使用倒序的组织域名组成,如 www.company.com 的包名就是 com.company