`
flylynne
  • 浏览: 362494 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

上海某医疗公司笔试题

 
阅读更多
以下父类和子类的运行结果
package com.example;

public class SupperClass {

public void print1() {
System.out.println("super");
}

public void print2(int i) {
System.out.println("super 1");
}

}

package com.example;


public class SubClass extends SupperClass{
public void print1(){
System.out.println("sub");
}
public void print2(int i){
System.out.println("sub 2");
}

public static void main(String[] args) {
// TODO Auto-generated method stub
SupperClass super1 = new SubClass();
super1.print2(5);
SubClass super2 = (SubClass) new SupperClass();
super2.print2(5);
}

}

运行结果:
sub 2
Exception in thread "main" java.lang.ClassCastException: com.example.SupperClass cannot be cast to com.example.SubClass
at com.example.SubClass.main(SubClass.java:19)
第二编译通过,但运行不通过。

第二种类型:
public class Parent {
public static void staticMethod() {
System.out.println("Parent static Method");
}

public void noStaticMethod() {
System.out.println("Parent no static method");
}
}

public class Child extends Parent {
public static void staticMethod() {
System.out.println("Child static method");
}

public void noStaticMethod() {
System.out.println("Child no static method");
}
}

//test case
public class PcTest {

public static void main(String args[]) {
Parent p1 = new Parent();
Parent p2 = new Child(); // 塑型
Child c = new Child();
System.out.print("p1.staticMethod:");
p1.staticMethod();
System.out.print("p1.nostaticMethod:");
p1.noStaticMethod();
System.out.print("p2.staticMethod:");
p2.staticMethod();
System.out.print("p2.nostaticMethod:");
p2.noStaticMethod();

System.out.print("c.staticMethod:");
c.staticMethod();
System.out.print("c.nostaticMethod:");
c.noStaticMethod();
}
}
运行结果:
p1.staticMethod:Parent static Method
p1.nostaticMethod:Parent no static method
p2.staticMethod:Parent static Method
p2.nostaticMethod:Child no static method
c.staticMethod:Child static method
c.nostaticMethod:Child no static method

原因:
1、Parent p2 = new Child();
2、Child c = new Child();
方式1涉及塑型,而静态方法是属于类的,也就是在类初始化就分配了。
方式2是实例化类,实例化后,不管是静态方法,还是非静态方法。当然就是对象的了。

二 reverse Operator

public class ReverseTest {

public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(9^2);
System.out.println(10^5);
System.out.println(10>>2);
System.out.println(10<<2);
System.out.println(10<<3);
System.out.println(10<<4);
}

}

result:
11
15
2
40
80
160

第三:那行编译出错与原因,及运行结果
public class IntTest {

int a;
int b=0;
static int c;
public void m(){
int d;
int e=0;
                  static int f;// 编译出错 Illegal modifier for parameter f; only final is permitted
a++;
b++;
c++;
d++;//编译出错 The local variable d may not have been initialized
e++;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
IntTest test = new IntTest();
System.out.println(++test.a);//运行结果1
System.out.println(test.b++);//运行结果0
                  System.out.println(test.b);//运行结果1
System.out.println(test.c);//运行结果0
System.out.println(++test.);//运行结果1
System.out.println(test.c);//运行结果1
System.out.println(c++);//运行结果1
System.out.println(test.c);//运行结果2
System.out.println(test.d);//编译出错
System.out.println(test.e);//编译出错
}
}

关键字static的作用是什么?
这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用:
1在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
2 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。
3在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用


静态方法在执行的时候就会分配内存,所以说直接用类名“.”方法名进行调用。而非静态方法则需要声明一个对象进行调用。

四 在Java程序中,通过JDBC访问Oracle数据库的步骤
(1)装载并注册数据库的JDBC驱动程序

  载入JDBC驱动:

  Class.forName("oracle.jdbc.driver.OracleDriver");

  注册JDBC驱动:

  java.sql.DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());

  (2)建立与数据库的连接

  要建立与数据库的连接,首先要创建指定数据库的URL。连接数据库的URL对象,利用DriverManager 的getConnection方法建立的。数据库URL对象与网络资源的统一资源定位类似,其构成格式如下:

  jdbc:subProtocol:subName://hostname:port;DatabaseName=ⅹⅹⅹ

  其中:

  jdbc表示当前通过Java的数据库连接进行数据库访问;

  subProtocol表示通过某种驱动程序支持的数据库连接机制;

  subName表示在当前连接机制下的具体名称;

  hostname表示主机名;

  port表示相应的连接端口;

  DatabaseName表示要连接的数据库的名称。

  这里以与Oracle数据库的连接为例:

  连接Oracle 8/8i/9i数据库(用thin模式)

  url = jdbc:oracle:thin:@hostip:1521:oracleSID;

  注意:hostip指主机的ip地址,oracleSID指数据库的SID。

  再者确定连接数据库的用户名与密码,即user和password 的值:

  user = “ⅹⅹⅹ “;

  password = “ⅹⅹⅹ“;

  最后使用如下语句:

  Connection con=java.sql.DriverManager.getConnection(url,user,password);

  (3)创建Statement对象

  例如:

  Statement stmt = con.createStatement();

  (4)调用并执行SQL语句

  例如:

  String sql = “select a,b,c from table1";//table1为你所要查询的表名,a,b,c为所要查询的字段

  ResultSet rs = stmt.executeQuery(sql);

  (5)访问ResultSet中的记录集并从中取出记录

  例如:

  rs.next( );

  rs.absolute(4);

  String col1=rs.getString(1);

  ……..

  (6)依次关闭ResultSet、Statement和Connection对象

  例如:

  rs.close();

  stmt.close();

  con.close();
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics