---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------
基本数据类型:
public class Test1 {
/*
* 正确的是 a c d
* a. byte b = 1 + 1; // 右边是一个数,给b直接赋值
* b. byte b = 1; b = b + 1; //两边类型不一致,b=(byte)(b+1);
* c. byte b = 1; b = b += 1; //b自身加一,再给b赋值
* d. byte b = 1; b = ++b; //b自增后赋值
*
*/
}
内部类对外部类的所有成员都可以可访问:
/**
* 在打印语句中如何打印这3个x变量?
class A {
int x = 1;
class B {
int x = 2;
void func() {
int x = 3;
System.out.println(new A().x+new B().x+ x );//打印3个x变量,调用外部成员变量,并访问文类变量。
}
}
}
* @author Administrator
*
*/
public class Test5 {
/**
* 5、 定义一个包含私有成员变量和函数的类,再定义一个内部类,在内部类函数中访问外
* 部成员变量,并调用外部函数。在外部类函数中创建内部类对象,调用内部类函数。
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new Outer().method(3);
}
}
class Outer{
private int x=3; //私有成员函数
void method(final int a){ //外部函数
final int b=4;
class Inter{ //定义内部类
void function(){
System.out.println(a+b+x);//访问外部成员变量和函数。
}
}
new Inter().function();//创建内部类,调用内部函数。
}
}
5、此代码考察的有继承,复写,类型提升。
分析运行结果,说明原理。(没有分析结果不得分)
class A {
void fun1() {
System.out.println(fun2());
}
int fun2() {
return 123;
}
}
public class B extends A {
int fun2() {
return 456;//复写父类的fun2,返回的是456
}
public static void main(String args[]) {
B b = new B();//创建子类对象
b.fun1();//因为子类复写了父类的方法,所以调用方法之后,返回的是复写之后的值,因此为456
// 此语句是类型提升,向上转型,相当于 A a=new Test8();能转换的是父类的引用指向了自己的子类对象,
该应用可以被提升,也可以强制转换.自始至终都是子类对象在做着变化。
A a = b;
a.fun1();//因此输出的还是456
}
}
运行结果为:456
456
* @param args
*/
6、
public class Test8 {
/**
* 8、 写出以下代码执行结果,分析为什么?(没有分析结果不得分)
* @param args
*/
public static void main(String[] args) {
String s = "abc";
s.substring(1);//取字符串中索引值为‘1’(包括)后的字符串作为子串,值为bc,而字符串不改变
s.replace("bc", "xyz");//替换字符串中指定的字符,方法调用后,而原来的字符串不发生改变
System.out.println(s);
String value = new String ("abc");//相当于创建了两个对象,一个是"abc"对象,
//存储在常量空间中,一个是使用关键字为对象value申请空间。
System.out.println(s == value);//如上所述,所以不相等
}
}
/*
* 运行结果为: abc false
*/
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------