美文网首页
Java类_包和层次结构

Java类_包和层次结构

作者: YQY_苑 | 来源:发表于2018-08-23 23:04 被阅读0次

  1. 类是一个模板,它描述一类对象的行为和状态
  2. 语义上表达的是一类实体(对象)的抽象
  3. 在Java中的惯例是一个⽂件中存放一个public类
image.png

对象

▸ 对象:对象是类的⼀个实例
▸ 语义上是表达⼀个java类的实体
▸ 对象是⼀般情况下Java语⾔⾥的”⼀等公⺠”
▸ 对象可以赋值到⼀个变量
▸ 对象是通过new语句进⾏创建

JAVA方法和成员变量

  • 方法:类中定义的该类的实例对象所具有的行为
  • 静态方法: 只属于类本身的方法
  • <返回类型> 方法名(<参数类型> 参数名, …) {代码; return <返回值>;}
  • 一个方法由 “方法名 + 参数类型” 确定
  • 相同方法名,不同参数类型, 是不同的方法 (重载override)
  • 成员变量即对象或类中的变量, 其作用域在类中,或对象中
  • 可以用修饰符控制方法和成员变量的作用域

修饰符

1、访问权限修饰符

Java中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。Java 支持 4 种不同的访问权限。

  • default (即缺省,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。

  • private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)

  • public : 对所有类可见。使用对象:类、接口、变量、方法。

  • protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)。

image.png

2、非访问修饰符

  • static 修饰符,用来修饰类方法和类变量。

  • final 修饰符,用来修饰类、方法和变量,final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。

  • abstract 修饰符,用来创建抽象类和抽象方法。

  • synchronized 和 volatile 修饰符,主要用于线程的编程。

1、static 修饰符

静态变量:static 关键字用来声明独立于对象的静态变量,无论一个类实例化多少对象,它的静态变量只有一份拷贝。 静态变量也被称为类变量。局部变量不能被声明为 static 变量。

静态方法:static 关键字用来声明独立于对象的静态方法。静态方法不能使用类的非静态变量。静态方法从参数列表得到数据,然后计算这些数据。

对类变量和方法的访问可以直接使用 classname.variablename 和 classname.methodname 的方式访问。

如下例所示,static修饰符用来创建类方法和类变量。

public class InstanceCounter {
   private static int numInstances = 0;
   protected static int getCount() {
      return numInstances;
   }
 
   private static void addInstance() {
      numInstances++;
   }
 
   InstanceCounter() {
      InstanceCounter.addInstance();
   }
 
   public static void main(String[] arguments) {
      System.out.println("Starting with " +
      InstanceCounter.getCount() + " instances");
      for (int i = 0; i < 500; ++i){
         new InstanceCounter();
          }
      System.out.println("Created " +
      InstanceCounter.getCount() + " instances");
   }
}

以上实例运行编辑结果如下:

Starting with 0 instances
Created 500 instances

2、final 变量:

  • final 变量能被显式地初始化并且只能初始化一次。被声明为 final 的对象的引用不能指向不同的对象。但是 final 对象里的数据可以被改变。也就是说 final 对象的引用不能改变,但是里面的值可以改变。

  • final 修饰符通常和 static 修饰符一起使用来创建类常量。

final 方法
类中的 final 方法可以被子类继承,但是不能被子类修改。
声明 final 方法的主要目的是防止该方法的内容被修改。

如下所示,使用 final 修饰符声明方法。

public class Test{
  final int value = 10;
  // 下面是声明常量的实例
  public static final int BOXWIDTH = 6;
  static final String TITLE = "Manager";
 
  public void changeValue(){
     value = 12; //将输出一个错误
  }
}

包和层次结构

  • “包”: 用来表示具有层次结构的命名空间
    • “package com.jirengu.java-system;”
  • 层次结构
    • 包 —> 类 (对象) —> 方法 —> 代码块

相关文章

  • Java类_包和层次结构

    类 类是一个模板,它描述一类对象的行为和状态语义上表达的是一类实体(对象)的抽象在Java中的惯例是一个⽂件中存放...

  • Java异常

    Java异常类层次结构图: 通常,Java的异常(包括Exception和Error)分为 可查的异常(check...

  • JavaSE集合类

    JavaSE集合类 概述 Java中集合类概述Java中数组与集合的比较Java中集合框架层次结构 Collect...

  • 第 9 章 Bridge 模式 -- 将类的功能层次结构与实现层

    Bridge 模式 建立类的功能层次结构和类的实现层次结构之间的关系。 类的层次结构 希望增加新功能时 类的功能层...

  • Java数据结构

    Java 数据结构 Java工具包提供了强大的数据结构。在Java中的数据结构主要包括以下几种接口和类: 枚举(E...

  • 图解设计模式--Bridge(桥接模式)

    将类的功能层次结构与实现层次结构分离 Bridge 模式 Bridge 模式的作用是将类的功能层次结构和类的实现层...

  • Bridge(桥接)模式

    特点:了解Bridge模式需要先了解类扩展的两个维度:类的实现层次结构和类的功能层次结构。类的实现层次结构:可理解...

  • java day 16

    Object Object类是类层次结构的根,Java中所有的类从根本上都继承自这个类。Object类是Java中...

  • JDK源码阅读笔记-java.lang

    java.lang.Object Structureobject.png introObject是类层次结构的根。...

  • Java - 核心类库一(任务一.常用类的概述和使用)

    Java.lang Object类 类Object是类层次结构的根,每个类都有Object作为超类 重写equal...

网友评论

      本文标题:Java类_包和层次结构

      本文链接:https://www.haomeiwen.com/subject/cxlviftx.html