1、写在前面:包是package,相当于文件夹;
类是class,一般一个类是一个java文件,类都定义在包里面。
2、类简介:类相当于C语言里面的结构体,但是类里面结构丰富,有变量、方法等
3、类的使用:
![](https://img-blog.csdnimg.cn/img_convert/1fb001826d64bccf1e284b1256be4055.png)
project:做题
src:项目的源代码
类:Employee、EmployeeDemo(类建在src里面,可以建多个类)
以下是两个类(Employee、EmployeeDemo)的代码:
Employee类:
package 做题;
public class Employee
{
public String name; public int age;
public double salary;
public Employee(){} //无参数构造方法
public void sayHello()
{
System.out.println("My name is " + name);
}
public double computeSalary(int hours, double rate)
{
salary = salary + hours * rate; return salary;
}
}
简化版代码:(不会有人做题整俩包吧,不用public)
package 做题;
public class Employee
{
String name;
int age;
double salary;
Employee(){} //无参数构造方法
void sayHello()
{
System.out.println("My name is " + name);
}
double computeSalary(int hours, double rate)
{
salary = salary + hours * rate; return salary;
}
}
但是,类里面主函数调用自家类的方法,方法前边就需要加上public static,不同类可以不加
EmployeeDemo类:
package 做题;
public class EmployeeDemo
{
public static void main(String[] args)
{
Employee employee; //声明一个Employee类型的引用变量
employee = new Employee(); //调用构造方法创建对象
employee.name ="李明"; //访问对象的成员
employee.age = 28;
employee.salary = 5000.00;//输出员工信息
System.out.println("姓名="+ employee.name);
System.out.println("年龄="+employee.age);
System.out.println("工资=" + employee.salary);
employee.sayHello(); //调用对象的方法
}
}
运行截图(EmployeeDemo类):
![](https://img-blog.csdnimg.cn/img_convert/a1fe16bdbb82e588156596cb1e7ba5aa.png)
唉,打竞赛只能交一个类里的代码,好烦。。。
package 做题;
import java.util.Scanner;
import javax.naming.StringRefAddr;
// 注意不用public,整个类里面都不用
class Employee
{
String name;
int age;
double salary;
void sayHello()
{
System.out.println("My name is " + name);
}
double computeSalary(int hours, double rate)
{
salary = salary + hours * rate; return salary;
}
}
public class Main
{
// 必须加上static,否则报错,public无所谓,都在一个包里
static int fact(int n)
{
int res = 1;
for(int i = 1 ; i <= n ; i ++) res *= i;
return res;
}
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.println(fact(n));
Employee employee;
employee = new Employee();
System.out.println("工资=" + employee.computeSalary(3,1.0));
}
}
运行结果
![](https://img-blog.csdnimg.cn/img_convert/eef5a9a288f8f2ba692e4ec69e93c8a3.png)