跟着老侯玩编程 跟着老侯玩编程
首页
  • 基础语法
  • 网络编程
  • 设计模式
  • 基础篇
  • 进阶篇
  • 框架篇
  • Redis
  • Alibaba
  • 课程目录
  • 码农宝典
留言
首页
  • 基础语法
  • 网络编程
  • 设计模式
  • 基础篇
  • 进阶篇
  • 框架篇
  • Redis
  • Alibaba
  • 课程目录
  • 码农宝典
留言
  • 基础篇

    • 聊聊环境变量
    • 永不过时的HelloWorld
    • 标识符
    • 数据类型
    • 运算符
    • 语句
    • 数组
    • 方法详解
    • 类和对象
      • 类的定义
      • 对象
      • 包(package)
        • 关键字 import
        • 小结
      • 访问权限
    • 类的成员
    • 类的继承
    • 类的形式
    • 封装和多态
    • 接口和Lambda表达式
    • 泛型编程
    • 常用API之函数式接口
    • 常用API
    • 异常机制
    • 多线程
    • 常用API之File类
    • IO流
    • 集合
    • 常用API之Stream流
    • 网络编程
    • 枚举
    • 注解和反射
  • 进阶篇

    • MySQL基础
    • 数据库-JDBC
    • HTML基础
    • CSS基础
    • JavaScript-基础
    • 服务器-Servlet
    • 服务器-Servlet3
    • 动态网页-JSP
    • Ajax
    • 前端项目工程化
    • ECMA2015
    • 模块化规范
  • 框架篇

    • 工具-Maven
    • 框架-MyBatis
    • 框架-Spring
    • 框架-SpringMVC
    • 工具-SpringBoot
    • 工具-Nginx
  • Java
  • 基础篇
舞动的代码
2022-05-17
目录

类和对象

如果说前面的知识点是基础的话,那么从这里开始就是Java基础的核心部分了

先说定义

  • 类:将某一类事物中所有的共同点抽离出来,形成一个模板,而这个模板我们在编程中称为类,需要注意的是类只是个概念

  • 对象:依托于某个模板(类)而产生的某个个体,个体是真实存在的

如果还是没有搞明白的话,我想用下面这张图来解释

上图中男孩和女孩仅仅是概念,它代表的是一个群体,而图中的每一个小人儿则是依托于(或者复合)这些概念的个体

# 类的定义

在理清楚概念以后剩下的就是语法了,类也分很多种。今天介绍的是其中最常用并且最基础的一种

类的定义其实并不复杂,涉及到的关键字也只有一个 class

public class Demo1{

}
1
2
3

# 对象

类似与现实世界一样,只有类没有对象是没有任何用途的。类似于我们都知道钱的概念,可是在你没有拿到一张张人民币之前,这个概念可能对你没有任何用途

在编程中对象的主要作用

  • 方便我们更好去使用某些功能,隐藏一些不必要暴露在外面的细节,使我们的程序更加安全

  • 将我们类中的数据全部加载到内存中,我们通过内存地址可以指向类中的某一个成员

对象的创建方式:**new 该类的构造器();**看到这里有朋友可能有疑问,类的构造器是啥?其实就是和类名相同的一个方法。示例代码如下

public class User{

}
public class Demo1{
    public static void main(String args[]){
        //创建User类的对象
        new User();
    }
}
1
2
3
4
5
6
7
8
9

新的疑问产生,构造器哪里来的?当我们自己没有声明构造器的时候 JVM 会帮我们创建一个,哪有什么岁月静好,只是有人负重前行

到这里其实类和对象的关系已经介绍完了,但是我还想多写一点零散的知识

# 包(package)

很多教程中对于包的概念几乎一带而过,它不重要吗?事实上它很重要,怎么理解这个概念呢?一个包其实就是一个文件夹,不要小看这个文件夹,它的作用如下

  • 把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。

  • 如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。

  • 包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。

定义包的语法格式

package pkg1[.pkg2[.pkg3…]];
1

# 关键字 import

为了能够使用某一个包的成员,我们需要在 Java 程序中明确导入该包。使用 "import" 语句可完成此功能。

在 Java 源文件中 import 语句应位于 package 语句之后,所有类的定义之前,可以没有,也可以有多条,其语法格式为:

import package1[.package2…].(classname|*);
1

完整案例


package com.coder163.demo1;

import com.coder163.domain

public class Boss{
   public void payEmployee(Employee e){
      e.mailCheck();
   }
}
1
2
3
4
5
6
7
8
9
10

# 小结

以上基本上就是包相关的内容。此外当我们不使用集成开发工具(如 IDEA、Eclipse)时编译带有包名的文件时

package com.coder163;

public class Test{
    public static void main(String[] args){
        System.out.println("Hello World!");
    }
}
1
2
3
4
5
6
7

编译运行


C:\Users\Administrator\Desktop\demo1>javac com/coder163/Test.java

C:\Users\Administrator\Desktop\demo1>java com.coder163.Test
Hello World!

# 批量编译
C:\Users\Administrator\Desktop\demo1>javac -d ./ com/coder163/*.java
1
2
3
4
5
6
7
8

# 访问权限

包都说了不差这一个,访问权限的控制其实同样重要,常用的权限修饰如下

关键字 使用频率 控制范围
public:公共的 常用 随意调用
private:私有的 常用 当类或者类的成员被private修饰时,表示该类的成员只能在本类中使用,一般情况下成员变量会使用private修饰
Protected:受保护的 较少 只能在同一个包中调用
Default:默认的 一般 如果使用的话,在声明部分不要书写任何访问权限
方法详解
类的成员

← 方法详解 类的成员→

Theme by Vdoing | Copyright © 2013-2023 冀ICP备16006233号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×