22天学习java基础笔记之day11

Day11 常用修饰符 jar 测试题

一、包

1、概念与用途    

我们可以将包想象成文件夹

常见用途

        A:对类进行管理

        B:让类有了多层命名空间 cn.itcast.Demo

        C:不同包中类之间的访问

2import关键字

import用于导入其他包中的类.

使用的格式:

        import 包名.类名;----------->单个导入

        import 包名.*;---------------->多个导入

但是建议使用: 包名.类名;

二、常见修饰符

1、权限修饰符

                同一个类中     同一个包中     不同包中的子类中  不同包中

private             OK                          

(default)           OK                   OK

protected          OK                   OK                     OK

public               OK                   OK                     OK                          OK

2、其他修饰符

                    class         构造方法       成员方法       成员变量

private                                OK                OK                OK

(default)           OK              OK                OK                OK

protected                             OK                OK                OK

public               OK              OK                OK                OK

final                 OK                                  OK                 OK

static                                                       OK                 OK

abstract        OK                                  OK             

如果class(构造,成员)它能被多个修饰符修饰,那么这多个之间是可以组合使用。但是得注意特殊情况。如abstract

public static final String S = "Hello";

public abstract void show();

public final void show2(){}

3jar

java中压缩包

方便携带和使用。

set classpath=c:myhaha.jar;.

  1. 测试题
  1. char型变量中能不能存贮一个中文汉字?为什么?

答:char型变量是用来存储Unicode编码的字符的,unicode编码字符集中包含了汉字,所以,char型变量中当然可以存储汉字。不过,如果某个特殊的汉字没有被包含在unicode编码字符集中,那么,这个char型变量中就不能存储这个特殊汉字。(unicode编码占用两个字节,所以,char类型的变量也是占用两个字节。)

  1. 静态变量和实例变量的区别?

   (1)作用范围

        A:静态变量随着类的加载而加载,随着类的消失而消失。生命周期最长。

        B:实例变量随着类的创建而加载,对象消失,实例变量消失。

   (2)存储空间

       A:静态变量存储在方法区中的静态区,被所有实例共享。

        B:实例变量存储在堆内存中,只被某一个对象所特有。

   (3)调用方式

        A:静态变量既可以通过对象名调用,也可以通过类名直接调用。

        B:实例变量只能通过对象名调用。

  1. abstract classinterface有什么区别?

: A:抽象类只能单继承,接口可以多实现。

    B:抽象类中可以有非抽象方法,抽象类中可以定义变量和常量。接口中的方法都是抽象的。接口中只能有静态常量。接口中的方法都有默认修饰符:public abstract接口中的成员变量都有默认修饰符:public static final

    C:抽象类中定义的是一个体系的共性功能,接口中通常定义的对象中的扩展功能。

    D:接口的出出现避免了单继承的局限性。

    E:抽象类被继承表示的是:is a 的关系。叫做:xxyy的一种。接口被实现表示的是:like a 的关系。叫做:xxyy一种。

  1. 面向对象的特性有哪些,分别阐述说明?

(1)抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程(行为)抽象,二是数据(属性)抽象。

(2)继承:继承是一种层次模型,允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。

(3)封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。

   (4)多态性:多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性(重载)和对象多态性(子父类的重写)。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序方法同名问题。

原文地址:https://www.cnblogs.com/aohongzhu/p/12938753.html