博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
作业2
阅读量:4684 次
发布时间:2019-06-09

本文共 2279 字,大约阅读时间需要 7 分钟。

1、访问修饰符有哪些?各自的作用范围是什么?

1、public

该类或非该类均可访问
2、private
只有该类可以访问
3、protectd
该类及其子类的成员可以访问,同一个包中的类也可以访问
4、默认
相同数据包中的类可以访问

2、什么是封装?封装有什么特点?

封装:按照信息隐藏的原则,将数据组织在一起。

封装有 两个特点:1、信息隐藏。2、信息集合。

3、私有属性(private)加get、set方法和公有属性有什么区别?

1、私有属性不能被直接访问,只能通过get方法(访问器)和set方法(修改器)来进行设值和取值。这样,一旦删掉get或set方法,可以将该属性做成只读或只写属性。公有属性做不到。

2、可以通过修改器在设置属性时,做数据合法性的验证。但是公有属性做不到。

4、静态块在什么时候执行?执行几次?

在类加载时执行,也就是在产生对象之前执行。而且只执行一次。

 

5、什么是内部类?内部类产生的class文件命名规则是怎样的?

内部类:在一个类中,再定义一个类,这称为内部类。内部类相当于外部类的属性,内部类对象的产生必须依赖于外部类对象。

内部类所产生的class文件:外部类的类名$内部类的类名.class

6、什么是多态?
多种形态
含义:允许一个父类变量引用子类的对象,允许一个接口类型变量引用实现类对象。反过来却不行。

一句话描述多态:相同的行为,不同的实现

7、说出代码执行结果
public class X{
public X(){
System.out.println("XXX");
}
}

class Y extends X{

public Y(){
System.out.println("yyy");
}
public static void main(String[] aa){
Y y = new Y();
}
}

8、说代码执行结果

class Father{
public Father(){
System.out.println("father");
}
}
class Child extends Father{
static{
System.out.println("static");
}
public Child(){
System.out.println("child");
}
}
class Test{
public static void main(String [] args){
Child c = new Child();
Child d = new Child();
}
}

static

father
child
father
child

9、class Super{
protected float getNum(){return 3.0f;}
}

public class Sub extends Super{

//Here
}
下面哪些代码可放在Here处
a) float getNum(){return 4.0f;} F//修饰符不过关
b) public void getNum(){} F//参数不对
c) private void getNum(double d){} T//方法重载
d) public double Getnum(){return 4.0d;} T//
e) public float getNum(){return 9;} T//方法重写

10、有一个文件S.java。
public class S {
}

class A{

public class B{
}
}

当编译S.java时,会产生几个class文件,分别是什么?
S.class A.class A$B.class

11、有这样两个类
class A{
public void getX(int x){
System.out.println("aaa");
}
}
class B extends A{
public void getX(int x,int y){ //重载不是重写
System.out.println("bbb");
}
}
class Test{
public static void main(String[] args){
B b = new B();
b.getX(1);
}
}
当执行Test时,输出什么结果。
aaa

12、class Base{}

public class Child extends Base{
static byte b1=2;
static byte b2=2;
static int i = -1;
static double d = 10.1;

public static void main(String argv[]){

Child m = new Child();
Base b = new Base();

//Here

}
}
下面哪些代码,当被插入//here所指地方时,编译和运行不会出错
1) b=m; //多态
2) m=b; //子类变量不能指向父类变量
3) d =i; //小类型可以赋值给大类型
4) b1 =b1+b2; //整形+整形结果至少是int

1、3

13、这里有两件商品都可以去污

肥皂:5元,呈块状
洗衣粉:10元,呈粉末状

根据描述,使用继承方式实现代码。

转载于:https://www.cnblogs.com/ljjdeblogs/p/5897930.html

你可能感兴趣的文章
Oracle EBS 初始化用户密码
查看>>
SYS_CONTEXT 详细用法
查看>>
Pycharm配置autopep8让Python代码更符合pep8规范
查看>>
函数的复写
查看>>
17_重入锁ReentrantLock
查看>>
winform窗口关闭提示
查看>>
64款工具,总有合适您的那款
查看>>
我的第一篇博客
查看>>
大数据学习线路整理
查看>>
【C++算法与数据结构学习笔记------单链表实现多项式】
查看>>
关于ProjectServer定制化项目中心页面
查看>>
使用Collectd + InfluxDB + Grafana进行JMX监控
查看>>
Linux下tar,zip命令详解
查看>>
C#垃圾回收机制
查看>>
31、任务三十一——表单联动
查看>>
[ios] IOS文件操作的两种方式:NSFileManager操作和流操作【转】
查看>>
Jenkins之Linux和window配置区别
查看>>
python之hasattr、getattr和setattr函数
查看>>
maven使用阿里镜像配置文件
查看>>
Java之字符流操作-复制文件
查看>>