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

相关文章
|
2月前
|
Java
java中面向过程和面向对象区别?
java中面向过程和面向对象区别?
33 1
|
3月前
|
JavaScript 前端开发 Java
还不明白面向对象? 本文带你彻底搞懂面向对象的三大特征(2024年11月Java版)
欢迎来到我的博客,我是瑞雨溪,一名热爱JavaScript和Vue的大一学生。如果你从我的文章中受益,欢迎关注我,我将持续更新更多优质内容。你的支持是我前进的动力!🎉🎉🎉
33 0
还不明白面向对象? 本文带你彻底搞懂面向对象的三大特征(2024年11月Java版)
|
3月前
|
Java 关系型数据库 数据库
面向对象设计原则在Java中的实现与案例分析
【10月更文挑战第25天】本文通过Java语言的具体实现和案例分析,详细介绍了面向对象设计的五大核心原则:单一职责原则、开闭原则、里氏替换原则、接口隔离原则和依赖倒置原则。这些原则帮助开发者构建更加灵活、可维护和可扩展的系统,不仅适用于Java,也适用于其他面向对象编程语言。
54 2
|
5月前
|
Java 编译器
封装,继承,多态【Java面向对象知识回顾①】
本文回顾了Java面向对象编程的三大特性:封装、继承和多态。封装通过将数据和方法结合在类中并隐藏实现细节来保护对象状态,继承允许新类扩展现有类的功能,而多态则允许对象在不同情况下表现出不同的行为,这些特性共同提高了代码的复用性、扩展性和灵活性。
封装,继承,多态【Java面向对象知识回顾①】
|
5月前
|
Java API 数据处理
Java 包(package)的作用详解
在 Java 中,包(package)用于组织和管理类与接口,具有多项关键作用:1)系统化组织代码,便于理解和维护;2)提供命名空间,避免类名冲突;3)支持访问控制,如 public、protected、默认和 private,增强封装性;4)提升代码可维护性,实现模块化开发;5)简化导入机制,使代码更简洁;6)促进模块化编程,提高代码重用率;7)管理第三方库,避免命名冲突;8)支持 API 设计,便于功能调用;9)配合自动化构建工具,优化项目管理;10)促进团队协作,明确模块归属。合理运用包能显著提升代码质量和开发效率。
400 4
|
5月前
|
Java
java中面向过程和面向对象区别?
java中面向过程和面向对象区别?
46 4
|
5月前
|
Java 数据安全/隐私保护
Java 包(package)的使用详解
Java中的包(`package`)用于组织类和接口,避免类名冲突并控制访问权限,提升代码的可维护性和可重用性。通过`package`关键字定义包,创建相应目录结构即可实现。包可通过`import`语句导入,支持导入具体类或整个包。Java提供多种访问权限修饰符(`public`、`protected`、`default`、`private`),以及丰富的标准库包(如`java.lang`、`java.util`等)。合理的包命名和使用对大型项目的开发至关重要。
248 2
|
5月前
|
Java
接口和抽象类【Java面向对象知识回顾②】
本文讨论了Java中抽象类和接口的概念与区别。抽象类是不能被实例化的类,可以包含抽象和非抽象方法,常用作其他类的基类。接口是一种纯抽象类型,只包含抽象方法和常量,不能被实例化,且实现接口的类必须实现接口中定义的所有方法。文章还比较了抽象类和接口在实现方式、方法类型、成员变量、构造方法和访问修饰符等方面的不同,并探讨了它们的使用场景。
接口和抽象类【Java面向对象知识回顾②】
|
4月前
|
存储 Java 程序员
Java基础-面向对象
Java基础-面向对象
37 0
|
5月前
|
Java 开发者
Java 面向对象
Java 是一种面向对象的编程语言,通过对象与类的概念组织代码和数据。面向对象编程的核心包括类、对象、继承、多态、封装和抽象。类是对象的蓝图,定义了属性和行为;对象则是类的实例。继承允许子类继承父类的属性和方法,增强代码复用性;多态则支持通过相同接口调用不同类型对象的行为,包括方法重载和重写。封装通过公共方法隐藏对象细节,提高安全性;抽象则对对象特征进行提炼,通过抽象类和接口实现。理解这些概念有助于设计高效、可维护的 Java 应用程序。
34 0