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
fatherchildfatherchild 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时,输出什么结果。aaa12、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; //整形+整形结果至少是int1、3
13、这里有两件商品都可以去污
肥皂:5元,呈块状洗衣粉:10元,呈粉末状根据描述,使用继承方式实现代码。