20170812 - 今日技能封装 - A

1 静态方法加载几次?
一次,仅在初次加载类文件时加载一次(即第一次新建对象时)

2 类内方法需要加static吗?类外方法呢?
一般而言,不是测试类(无主类)

如不定义,则在其他包中,需要定义一个对象才能调用


class aa{

}

BOO xx(){

}

bb.x()

cc.row++
上方代码分别是什么含义?

定义了一个aa的类;

定义了一个xx方法,其返回值为BOO类型,

对象bb调用了x方法

cc对象的row属性加1

4 判断返回值类型应看哪里?
看方法名前类型,而不是看return

5 定义成员变量的方式有几种?可以直接在成员变量下,方法外定义吗?
① 直接在定义时直接赋值
② 在构造中定义
不能,因为方法外无this.

6 final关键字需要掌握什么?
final可以修饰什么?
---
final修饰成员变量
final修饰方法
final修饰类
final修饰静态成员变量

对应情况的含义分别是?
---
修饰成员变量,意味着该变量在初始化后不可改变,那么该变量应如何初始化呢?
①在构造方法中;②声明同时初始化
修饰局部变量,同上,只是初始化方法仅有②

修饰方法,意味着该方法不能被重写,防止子类定义新方法时不小心的重写。
如坦克继承了车类,车类有一个打火的方法,而坦克的在定义开炮时有可能也定义打火方法,
导致不小心重写了父类的方法,后续再调用打火方法则为子类的打火,非原本的打火启动,造成混淆。

修饰类,则该类不可继承

修饰静态成员变量,则意味着该变量已为常量,无法再变更。(可通过类名.变量名调用)
其特点是,在调用时,会直接按照常量调入,无需载入类。

触类旁通,用以判断 “蓝字,一起变色的就是相同变量”

7 static修饰关键词需要掌握什么?
static关键词可以修饰什么?
成员变量
方法
static块

不同情况下的含义分别是什么?
static修饰成员变量,则该变量会独立于对象的数据结构中,只能通过类名.变量访问,

static修饰的成员变量存储在哪?
和类的信息一样存储在方法区中,由于类仅在方法区加载一次,所以static修饰的成员变量也仅有一份

可否定义一个不赋值的静态成员变量,再在子类的构造方法中直接修改?
不可直接修改(s = xx),类的成员变量属于类,必须通过类.变量(cell.s = xx)来访问修改。

何时需要用static修饰成员变量?
所有对象的值都一样的,做成静态,不一样的,做成实例。

static修饰方法
修饰的方法与对象无关,仅与类有关(修饰符为类名.而不是this,)——因此无法访问类内部成员变量,同样是用类名.方法调用

什么时候需要加static?在类中定义需要吗?应如何理解它?
当需要在主类中调用时(主类中无this.,因此调用同一类下的方法需要用类名.方法来访问)。
不需要,加了类内调用该方法皆需要加类前缀。
暂时只要记住上面一个用法即可,在其他对象类中继续按照“返回值类型 方法名”创建即可。

static块
在类加载期间运行一次,即在在创建对象前运行。

什么情况需要用到static块?
一般用于加载对象公用的资源。

练习:
首先在子类重写了一个父类的方法a(),再在子类中定义了一个同名静态的方法,是否会报错?
不会,因为两者实际名为this.a();一个为类名.a(),实际并不冲突——调用的方式也不同。

8 继承得来的成员变量需要在哪里定义?可以直接在类内部定义吗?如果不是继承
在子类的构造方法中定义。不可以,因为类内部无this. 只有类内部的方法有this.。则直接在类内
定义——也不可以,外部无this.

9 题目中的“直接调用”意味着什么?
可以在内部直接使用。

9 成员变量有几种访问修饰?类呢?分别的访问权限是?
public protected 不加修饰 private
public:本类,子类,同包类,其他包(通过import新建对象后访问)
protected:本类,子类(跨包继承可以),同包类
不加修饰:本类,同包类(跨包继承不可,本类继承可以)
private:本类

10 解题技巧有哪些?

首先看主类,有看不懂的回看其他附类;

快速把握题意,明确当题要考的是什么知识点

3 整合联系起相关知识点
如判断是否重写,还需判断重写方法返回值类型

时间: 2025-01-16 20:33:09

20170812 - 今日技能封装 - A的相关文章

20170812 - 今日技能封装 - Q

1 静态方法加载几次? 2 类内方法需要加static吗?类外方法呢? 3 class aa{ } BOO xx(){ } bb.x() cc.row++上方代码分别是什么含义? 4 判断返回值类型应看哪里? 5 定义成员变量的方式有几种?可以直接在成员变量下,方法外定义吗? 6 final关键字需要掌握什么?final可以修饰什么? 对应情况的含义分别是? 7 static修饰关键词需要掌握什么? 不同情况下的含义分别是什么? static修饰的成员变量存储在哪? 可否定义一个不赋值的静态成员

20170731 - 今日技能封装 - A

1 服务器简单的理解是什么? 高性能的,能够处理大量级数据的计算机. 2 服务器一般使用什么系统?为什么? Linux:Linux系统安全性比windows高. 3 Windows系统中的ABCD目录相当于Linux系统下的什么? Linux系统无分ABCD盘,只有根目录下引出的各个子目录. 4 Linux系统有盘符? 无(c:) 5 Linux系统下插入U盘,U盘目录在? 挂载点目录mnt下 6 Linux主目录在? /home/username目录下 7 Java一般用于什么开发? 服务器端

20170731 - 今日技能封装 - Q

1 服务器简单的理解是什么? 2 服务器一般使用什么系统?为什么? 3 Windows系统中的ABCD目录相当于Linux系统下的什么? 4 Linux系统有盘符? 5 Linux系统下插入U盘,U盘目录在? 6 Linux主目录在? 7 Java一般用于什么开发? 8 Linux操作系统下如何查看当前目录路径? 9 Linux下如何查看当前目录内文件? 10 Liunx下如何跳出当前目录到上一层级? 11 Linux下如何直接跳转到主目录? 12 linux可以在任意位置跳转到绝对路径吗?如何

20170811 - 今日技能封装 - Q

1 什么是单一继承?继承是否具有传递性? 4 子类重写父类方法后,可通过super.父类方法访问父类方法,请举应用例子 5 重写的方法可以访问子类的对象吗? 8 重写与重载的区别有哪些? 8 分析如上代码,输出结果为? class Super {public void f() {System.out.println ("super.f()");}} class Sub extends Super {public void f() {System.out.println ("s

20170804 - 今日技能封装 - A

public class addition9 { public static void main(String[] args) { //for循环10次 //循环变量是次数 //变体是10的乘等 long ten = 10; long result = 0; int num = 0; long value = 0; for(int times = 1;times <= 10;times++){ //每次乘等于10,每次ten的值都比上一轮大一个级别 value = ten - 1; System

20170804 - 今日技能封装 - Q

public class addition9 { public static void main(String[] args) { //for循环10次//循环变量是次数//变体是10的乘等long ten = 10;long result = 0;int num = 0;long value = 0;for(int times = 1;times <= 10;times++){//每次乘等于10,每次ten的值都比上一轮大一个级别value = ten - 1;System.out.print

20170819 - 今日技能封装 - Q

1 继承无抽象方法的抽象类,不重写方法会报错吗?不会. 2 实现接口时需注意什么?方法前必须加public,由于接口内默认为抽象方法,一般前缀为public(一般会加) abstract,子类访问权限默认要大于父类,所以必须加上public 3 可以强转的条件是什么?被强转对象实际上是强转成的类型.如果是转换成接口类实例,则对象对应的类必须也实现了该接口(相当于小转大,对象所属的类实现了接口,新建的对象向上造型接口类引用. 4 类内部调用自身的常量或静态变量是否需要添加类名?不需要,类内部已自动

20170810 - 今日技能封装 - Q

需列入每日问题--题目思路回溯. 1 猜数字游戏思路是? 2 构造器,构建器是什么? 3 this只可以用在哪里? 4 new出来的是什么? 5 数组属于基本类型还是引用类型? 6 基本类型数组是什么类型数据? 7 如何创建引用类型数组? 8 引用类型数组内元素默认值为多少? 9 给引用类型数组元素赋值应如何编写? 10 cells[0] = new cell(2,5);cells[0]是什么类型数据,在哪?装了什么? 11 问cells[0].row为多少? cells[0] = cells[

20170819 - 今日技能封装 - A

1 继承无抽象方法的抽象类,不重写方法会报错吗? 2 实现接口时需注意什么? 3 可以强转的条件是什么? 4 类内部调用自身的常量或静态变量是否需要添加类名? 5 如何理解多态? 6 重写的参数列表必须相同吗?参数列表包含什么?什么可以不同? 7 显示状态的思路是? 8 debug的思路是什么? 9 飞机大战中删除数组元素,传入了一个数组类型参数,为何外部值不改变?若想要外部值改变,需要如何处理?