您的位置:首页 > 编程语言 > Java开发

一、javaSE (十)形参和返回值、包、导包、权限修饰符、常见修饰符、内部类

2018-01-12 16:27 232 查看
1:形式参数和返回值的问题

(1)形式参数;

类名:需要该类的对象

抽象类名:需要该类的子类对象

接名:需要该接口的实现类对象

(2)返回值类型

类名:返回的是该类的对象

抽象类名:返回的是该类的子类对象

接口名:返回的是该接的实现类的对象

(3)链式编程

对象。方法1().方法2().......方法n();

这种用法:其实在方法1()调用完毕后,应该一个对象

方法2()调用完毕后,应该返回一个对象

方法n()调用完毕后,可能是对象,也可以不是对象

2:包(理解)

(1)其实就是文件来

(2)作用:

A:区分同名的类

B:对类进行分类管理

a:按照功能分

b:按照模块分

(3)包的定义(掌握)

package包名;

多级包用,分开

(4)注意事项:(掌握)

A: packag语氖必须在文件中的第一条有效

B:在一个aa文件中,只能有一个 package

C:如果没有 packag,默认就是无包名

(5)带包的编译和运行

A:手动式

B:自动式(掌握)

javac -d. Helloworld. java

3:导包(掌握)

(1)我们多次使用一个带包的类,非常的麻烦,这个时候,Java就提供了一个关键字 import

(2)格式:

import包名...类名;

import包名...*;(不建议)

(3) package, import,c1ass的顺序

package > import > class

4:权限修饰符(掌握)

(1)权限修饰符

本类 同一个包下 不同包下的子类 不同包下的无关类

private Y

默认 Y Y

protected Y Y Y

public Y T Y Y

(2)这四种权限修饰符在任意肘刻只能出现一犭

public class Demo{}

5:常见的修饰符(理解)

(1)分类

权限修饰符; private,默认, protected, pub1ic

状态絛饰符: static,fina1

抽象修饰符: abstract

(2)常见的类及其组成的修饰

类:

默认, public, final, abstract

常用的: public

成员变量

private, 默认, protected, public, static, final

常用的: private

构造方法

private,默认, protected, public

常用的:pub1ic

构造方法

private,默认, protected,pub1ic

常用的;pub1ic

成员方法:

private,默认, protected, public, static, final, abstract

常用的;pub1ic

(3)另外比较常见的:

public static final int X=10;

public static void show(){}

public final void show(){}

public abstract void show();

6:内部类(理解

(1)把类定义在另一个类的内部,该类就被称为内部类

举例:把类B定义在类A中,类B就被称为内部类

(2)内部类的访问规则

A:可以直接访问外部类的成员,包括私有

B:外部类要想访问内部类成员,必须创建对象

(3)内部类的分类

A:成员内部类

B:局部内部类

(4)成员内部类

A: private为了数据的安全性

B: static为了访问的方便性

成员内部类不是静态的:

外部类名.内部类名对象名=new 外部类名.new 内部类名()

成员内部类是静态的:

外部类名.内部类名对象名=new 外部类名.内部类名()

(5)成员内部类的面试题(看程序写结果)

30,20,10

class Outer {

public int num=10;

class Inner{

public int num =20;

public viod show(){

int num = 30;

System. out. println(num);

System. out. println(this.num);

System. out. println(Outer.this.num);

}

}

}

(6)局部内部类

A:局部内部类访问局部变量必须加fina1修饰

B:为什么呢?

因为局部变量使用完毕就消朱,而堆内存的数据并不会立即道失

所以,堆内存还是用该变量,而改变量已经没有了

为了让该值还存在,就加fina1修饰

通过反編译工具我们看到了,加入final后,堆内存直接存储的是值,而不是变量名

(7)盾名内部类(掌握)

A:是局部内部类的简化形式

B:前提

存在一个类或者接口

C:格式

new类名或者接口名(){

重写方法;

}

D:本质

其实是继承该类或者实现接口的子类匿名对象

(8)匿名内部类在开发中的使用

我们在开发的时候,会看到抽象类,或者接作为参数

而这个时候,我们知道实际要的是一个子类对象

如果该方法仅仅调用一次,我们就可以使用名内部类的格式简化。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐