`

SCJP

    博客分类:
  • Java
 
阅读更多

 

1. Array

 

int [] z [] [] = {{{1,2,3},{2,3}},{{3,4},{}}};

int [] z [] [];
=
int z [] [] [];

int [][] a1 = {{},{}};
int [] a2 = a1[0]; // Correct
int [] a3 = (int []) a1; // Error, cannot cast from int[][] to int[]
 

2. Implement interface

 

interface Base {
    boolean m1 ();
    byte m2(short s);
}


class Class2 implements Base { 

    boolean m1( ) { return false; } 

    byte m2(short s) { return 42; }
} 

// class2 has compile error, as need specify public for both method. as interface methods are implicitly public.
 
3. Class.forName("")
Class c = Class.forName("TestB"); //错误,必须加上Package path, 尽管在同一package下.
Class c = Class.forName("com.nan.tml.TestB"); //正确
4. 构造函数
class Top {
    
    public Top(String s) {
        System.out.print("B");
    }
}


class Bottom2 extends Top {
    
    public Bottom2(String s) {
        super("s"); //如果没有这句,会报错,因为他会自动调用supper(); 黙认会有一个无参数构造函数, 如果定义了其它的构造函数,刚不会再有无参数构造函数,如需要,需再定义.
        System.out.print("D");
    }
    
    public static void main(String[] args) {
        new Bottom2("C");
        System.out.println(" ");
    }
}
5. Argument
public class Test {
    
    public static void main(String[] args) {
        
        Arg arg = new Arg();
        testArg(arg); // Reference argument
        System.out.println(arg.v1); //Will print 2.
    }
    
    static void testArg(Arg a) {
        a.v1 = 2;
        System.out.println(a.v1); // Will print 2.
        a = null; //Just specify the reference of argument a is null.
    }
}

class Arg {
    int v1 = 1;
}
6. Type cast
double > long > int > short

    // Correct
    short s = 1;
    int i = s;
    long l = i;
    double d =l;

    // Wrong
    double d = 1;
    long l = d;
    int i = l;
    short s = i;
class Eggs {
    
    int doX(Long x, Long y) {
        return 1;
    }
    
    int doX(long... x) {
        return 2;
    }
    
    int doX(Integer x, Integer y) {
        return 3;
    }
    
    int doX(Number n, Number m) {
        return 4;
    }
    
    void go() {
        short s = 7;
        System.out.print(doX(s, s) + " "); // print 4
        double d = 7;
        System.out.print(doX(d, d) + " "); // print 4
        int i = 7;
        System.out.print(doX(i, i) + " "); // print 3
        long l = 7;
        System.out.print(doX(l, l) + " "); // print 1
        
    }

    public static void main(String[] args) {
        
        new Eggs().go();
    }
}
 
7. Overload
public class Test {
    
    public static void main(String[] args) {
        System.out.println(new Alien().invade((short) 7)); // Print a few
        System.out.println(new Alien().invade((short) 7, (short)7)); // Print many
        System.out.println(new Alien().invade((short) 7, (short) 7, (short) 7)); // Print many
    }
    
}


class Alien {
    
    String invade(short ships) {
        return "a few";
    }
    
    String invade(short... ships) {
        return "many";
    }
}
 
8. Initialization
class Bird {
    
    {
        System.out.print("bl ");
    }
    
    public Bird() {
        System.out.print("b2 ");
    }
}


class Raptor extends Bird {
    
    static {
        System.out.print("r1 ");
    }
    
    public Raptor() {
        System.out.print("r2 ");
    }
    
    {
        System.out.print("r3 ");
    }
    static {
        System.out.print("r4 ");
    }
}


public class Hawk extends Raptor {
    
    public static void main(String[] args) {
        System.out.print("pre ");
        new Hawk();
        System.out.println("hawk ");

    }
}

// Will print:
// r1 r4 pre bl b2 r3 r2 hawk 
9. Serializable
class Player{
    Player() { System.out.print("p"); }
  }
 public class Test extends Player implements Serializable {
    Test() { System.out.print("c"); }

    private Player player = new Player(); // will throw exception when run, as Player doesn't implements Serializable
    
    public static void main(String[] args){
        Test c1 = new Test();

      try {
        FileOutputStream fos = new FileOutputStream("play.txt");
        ObjectOutputStream os = new ObjectOutputStream(fos);
        os.writeObject(c1);
        os.close() ;
        FileInputStream fis = new FileInputStream("play.txt");
        ObjectInputStream is = new ObjectInputStream(fis);
        is.readObject();
        is.close();
        
      } catch (Exception x ) { }
    }
  }

// Will print pcp
// It's okay for a class to implement Serializable even if its superelass doesn't. 
// However, when you deserialize such an object, the non-serializable superelass 
// must run its constructor. Remember, constructors don't run on deserialized 
// classes that implement Serializable.
 
分享到:
评论

相关推荐

    SCJP典型试题1000例

    SCJP典型试题1000例 SCJP典型试题1000例 SCJP典型试题1000例

    SCJP学习指南完整版pdf共18章

    ### SCJP学习指南知识点概述 #### 一、声明与访问控制 (Declarations and Access Control) 本书的第一章重点讲解了声明和访问控制的概念及其在Java中的应用。这些概念对于理解和掌握面向对象编程至关重要。 #####...

    SCJP认证考试指南

    SCJP – Sun Certified Java Programmer (Sun Java 程序员认证).Sun 公司作为Java 语言的发明者,对全球的Java 开发人员进行技术水平认证。该认证在国际上获得了IT 公司的普遍认可,是目前国际上最热门的IT 认证之一...

    SCJP大全

    《SCJP大全》是一款全面覆盖SCJP(Sun Certified Programmer for Java Platform, Standard Edition)考试的知识资源,旨在帮助学习者一次性通过这项重要的Java编程认证。SCJP是Java开发人员的基础认证,证明了持有者...

    SCJP试题,SCJP试题

    SCJP,全称为Sun Certified Programmer for the Java 2 Platform,是Oracle公司(原Sun Microsystems)推出的针对Java程序员的认证考试。这个考试旨在测试考生对于Java SE平台基础编程的知识和技能。以下是一些SCJP...

    SCJP考试资料pdf

    SCJP 可以说各种Java认证的基础,相对于SCJD来说,SCJP更侧重于测验您的Java程序设计概念及能力,内容偏重于Java语法及JDK的内容。其对应的最主要的学习课程是SL-275。SCJP 的学习/考试过程是相对相对比较明确的,...

    Scjp认证考试指南

    SCJP sun certificated java programmer (SCJP)  一种Java认证考试  对于Java程序设计员,Sun推出两项认证:Sun Certificated Java Programmer (SCJP)和Sun Certificated Java Developer(SCJD)。  SCJP 可以说...

    SCJP 经典练习题

    SCJP(Sun Certified Programmer for the Java 2 Platform, Standard Edition)是Oracle公司为Java程序员提供的一项权威认证,证明其在Java编程语言上的专业能力。这个认证涵盖了基础语法、类库、异常处理、多线程、...

    SCJP模拟器+JDK5.0+复习资料

    SCJP(Sun Certified Programmer for the Java 2 Platform, Standard Edition)是Oracle公司先前对Java程序员进行认证的一项考试,旨在测试开发者对于Java SE平台的基础知识和编程能力。这个压缩包文件包含了一个...

    scjp题库(中文版)

    标题所指的“scjp题库(中文版)”是一本针对Java程序员职业认证——SCJP(Sun Certified Java Programmer)考试的中文版题库。SCJP是Oracle公司早期提供的Java认证考试,后由于Oracle收购了Sun公司,该认证也随之...

    SCJP学习指南

    SCJP(Sun Certified Programmer for the Java Platform)是Oracle公司(原SUN公司)推出的一门针对Java编程语言的初级认证考试。这个认证旨在验证开发者对Java语言基础的掌握程度,包括语法、数据类型、控制结构、...

    SCJP考试相关书籍

    SCJP(Sun Certified Programmer for the Java Platform, Standard Edition)是Oracle公司(原Sun Microsystems)推出的一项Java编程语言的认证考试,旨在验证候选者对Java SE平台的基础知识和编程能力。这个认证...

    scjp模拟器scjp模拟器

    SCJP(Sun Certified Programmer for the Java 2 Platform, Standard Edition)是Oracle公司先前为Java程序员提供的一个认证考试,旨在验证候选者对Java编程语言的基本理解与应用能力。这个"scjp模拟器"可能是用于...

    Java SCJP中文学习指南

    Java SCJP,全称为Sun Certified Programmer for the Java 2 Platform, Standard Edition,是Oracle公司针对Java初学者和专业开发者的一项认证考试。这个“Java SCJP中文学习指南”旨在帮助中文使用者深入理解Java...

    SCJP官方教材中文版

    《SCJP官方教材中文版》是一本专门为准备SCJP(Sun Certified Programmer for the Java 2 Platform, Standard Edition)考试的学员编写的指南。SCJP,现已被Oracle认证为Oracle Certified Associate, Java SE 8 ...

    scjp题库(收集了CSDN上大部分题库,近1000道SCJP试题)

    SCJP,全称为Sun Certified Programmer for the Java 2 Platform, Standard Edition,是Oracle公司(原Sun Microsystems)为Java程序员提供的一项认证考试。这个题库包含了近1000道题目,旨在帮助考生全面掌握Java ...

    SCJP考试模拟软件

    SCJP(Sun Certified Programmer for the Java 2 Platform, Standard Edition)是Oracle公司为Java程序员提供的一项认证考试,旨在验证考生对Java编程语言的基础知识和理解。这个“SCJP考试模拟软件”显然是一款帮助...

    [浪曦原创]SCJP试题解析视频课程(胡屹)

    资源名称:[浪曦原创]SCJP试题解析视频课程(胡屹)资源目录:【】[A309]SCJP视频解析—序列化【】[A310]SCJP视频解析—字符串上【】[A311]SCJP视频解析—字符串下【】[A312]SCJP试题解析—Constructors【】[A318]SCJP...

Global site tag (gtag.js) - Google Analytics