Java千百问_05面向对象(002)_package和import作用是什么-阿里云开发者社区

开发者社区> 开发与运维> 正文

Java千百问_05面向对象(002)_package和import作用是什么

简介:

1、java中package是什么

。简单地说,它是分类class(类)与interface(接口)的方式。 
Java开发中,将会写数以百计的类和接口,因此,对它们分类是必须的。 
了解更多类看这里:类、对象到底有什么秘密 
了解更多接口看这里:接口和抽象类有什么区别

2、java中import有什么用

在java中,编译器是根据包名+类名找到类的,而import语句是告诉编译器找到指定的类。 
例如,要求编译器来加载所有目录中java安装/java/io可用的类:

import java.io.*;
  • 1
  • 1

3、源文件中如何声明的规则

在源文件中,声明类、声明包和写import语句时,有些规则是必不可少的。

  1. 在每一个源文件中只能有一个public类
  2. 源文件可以有多个非public类
  3. public类名应该是源文件,以及应当以.java扩展名结尾。例如:类名是- public class Employee{}将源文件应为Employee.java。
  4. 如果类在包中定义,那么package语句应该是源文件中的第一条语句
  5. 如果import语句都存在,那么它们必须写package语句和类声明之间。如果没有包(package)语句,那么import语句应该是源文件中的第一行。
  6. import和package语句是针对源文件中的所有类。不同的import或package语句不能在同一个源文件中。
  7. 类有四个访问级别,且有不同的类型,如抽象类,final类等(使用修饰符表示)。java修饰符看这里:public、privite、protected有什么区别
  8. 除了上述类型的类,java中还有内部类、匿名类等。

4、java源文件如何编写

首先打开记事本,创建两个类:Employee和EmployeeTest,保存为名称为Employee.java、EmployeeTest.java,这就是java源文件。 
这里Employee类和EmployeeTest类是公共类。 
其中,Employee类有一个明确的构造函数,它接受一个参数。且有四个实例变量的名字,年龄,名称和工资。

import java.io.*;
public class Employee{
   String name;
   int age;
   String designation;
   double salary;

   // This is the constructor of the class Employee
   public Employee(String name){
      this.name = name;
   }
   // Assign the age of the Employee  to the variable age.
   public void empAge(int empAge){
      age =  empAge;
   }
   /* Assign the designation to the variable designation.*/
   public void empDesignation(String empDesig){
      designation = empDesig;
   }
   /* Assign the salary to the variable        salary.*/
   public void empSalary(double empSalary){
      salary = empSalary;
   }
   /* Print the Employee details */
   public void printEmployee(){
      System.out.println("Name:"+ name );
      System.out.println("Age:" + age );
      System.out.println("Designation:" + designation );
      System.out.println("Salary:" + salary);
   }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

下面给出的是EmployeeTest类,它创建了Employee类的两个实例对象,并调用方法为每个对象中的属性赋值。 
其中有一个特殊方法:main方法。运行类实际上是执行该类的main方法(没有main方法的类不能运行)。

import java.io.*;
public class EmployeeTest{

   public static void main(String args[]){
      /* Create two objects using constructor */
      Employee empOne = new Employee("James Smith");
      Employee empTwo = new Employee("Mary Anne");

      // Invoking methods for each object created
      empOne.empAge(26);
      empOne.empDesignation("Senior Software Engineer");
      empOne.empSalary(1000);
      empOne.printEmployee();

      empTwo.empAge(21);
      empTwo.empDesignation("Software Engineer");
      empTwo.empSalary(500);
      empTwo.printEmployee();
   }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

现在,编译这两个类,然后运行EmployeeTest(如何编译看这里:如何用记事本编写Java程序): 
C :> javac Employee.java 
C :> vi EmployeeTest.java 
C :> javac EmployeeTest.java 
C :> java EmployeeTest

执行结果如下: 
Name:James Smith 
Age:26 
Designation:Senior Software Engineer 
Salary:1000.0 
Name:Mary Anne 
Age:21 
Designation:Software Engineer 
Salary:500.0


原文地址:http://blog.csdn.net/ooppookid/article/details/51168134

版权声明:本文首发在云栖社区,遵循云栖社区版权声明:本文内容由互联网用户自发贡献,版权归用户作者所有,云栖社区不为本文内容承担相关法律责任。云栖社区已升级为阿里云开发者社区。如果您发现本文中有涉嫌抄袭的内容,欢迎发送邮件至:developer2020@service.aliyun.com 进行举报,并提供相关证据,一经查实,阿里云开发者社区将协助删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章