以下情况可以通过编译 Class A { static void staticMethod() { println(); } } Class B extends A { } B.staticMethod(); 而以下情况则不可以 interface A { static void staticMethod() { println(); } } Class B implements A { } B.staticMethod(); 这里会提示错误 static method may be invok…
前几天面试的时候,被问到在Java中是否可以调用一个类中的main方法?回来测试了下,答案是可以!代码如下: main1中调用main2的主方法 package org.fiu.test; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; public class Main1 { /** * @param args */ public static void main(Stri…
申明:本篇非本人原创,是在阅读各种论文文献之后,对论文文献的一种梳理. 主要参考文献为: ----------------------------------------------------------------我是分割线--------------------------------------------------------------------------- 什么是Javacard API? Javacard API也被称为API类库或类库,按照包.类和接口/方法的层次结构提供…
1.提出问题 为什么java源文件中只允许一个public类存在? 2.分析问题 问题涉及到的条件:源文件的名字    public类     main方法 一般我们在编写一个源文件的时候: 一个public类   一个main方法    public类名和源文件名字相同     main方法写在public类中 3.验证 3.1 源文件中不存在public类 1.源文件中没有public只是提供一个main方法 class Test2{ int i=2; } class Test3{ int…
声明,本篇文章为转载 转载 http://blog.csdn.net/bareheadzzq/article/details/6562211 最近在一个java文件中实现了几个类,其中一个声明为public类型,但编译器报错:后来将public去掉,也即文件中没有一个public类,程序正常运行,有些困惑,最后通过本文章找到答案,为以后方便查找,转载,感谢作者. 结论: 一个Java源文件中最多只能有一个public类,当有一个public类时,源文件名必 须与之一致,否则无法编译,如果源文件中…
答题时,先答是什么,再答有什么作用和要注意什么 一个".java"源文件中可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致,main方法只能写在public类中. 若只包含一个类,可以省去“public”…
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:在C#中我们能调用一个类的私有方法吗.…
问题:一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 答案:可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致.一个文件中可以只有非public类,如果只有一个非public类,此类可以跟文件名不同. 为什么一个java源文件中只能有一个public类? 在java编程思想(第四版)一书中有这样3段话(6.4 类的访问权限): 1.每个编译单元(文件)都只能有一个public类,这表示,每个编译单元都有单一的公共接口,用pub…
一个.java源文件中可以有多个类吗?(内部类除外)有什么条件?带着这个疑惑,动手建几个测试类, 揭开心中的疑惑.以下是解开疑惑过程: package test;/** * 一个.java源文件中可以有多个类吗?(内部类除外)有什么条件?  * 可以的    *但是只能有一个public类, 而且如果有public类的话,这个文件的名字要和这个类的名字一样. *如果都没有public类,名字可以不和这个类一样. */public class MultiClass { int i = 0;} cl…
Java的继承是比较重要的特性,也是比较容易出错的地方,下面这个例子将展示如果父类构造器中调用被子类重写的方法时会出现的情况: 首先是父类: public class test { void fun(){ System.out.println("test fun()"); } void fun1(){ System.out.println("test fun1()"); } test(){ fun(); fun1(); } public static void ma…
1.当子类和父类中有相同的成员属性的时候 public class Demo { public static void main(String[] args) { Father son=new Son(); System.out.println(son.num); } } class Father{ ; } class Son extends Father{ ; } 执行结果是 4 多态调用该变量时: 编译时期:参考的是引用型变量所属的类中是否有被调用的成员变量./如果/没有该变量,编译失败.…
不多说,直接上干货! 前期博客 牛客网Java刷题知识点之四种不同的方式创建线程 这里很简单 首先,系统通过调用线程类的start()方法来启动一个线程,此时这个线程处于就绪状态,而非运行状态,也就意味着这个线程可以被JVM来调度执行. 然后,在这个调度执行过程中,JVM会通过调用线程类的run()方法来完成实际的操作,当run()方法结束后,此线程就会终止. 注意: 如果直接调用线程类的run()方法,会被当作一个普通的函数来调用.也就是说,start()方法能够异步地调用run()方法,但是…
一个Java源文件中最多只能有一个public类, 1)当有一个public类时,源文件名必须与之一致,否则无法编译, 2)如果源文件中没有一个public类,则文件名与类中没有一致性要求. 至于main()不是必须要放在public类中才能运行程序. 备注: 第一: Test7.java源文件: class Test5{ int i = 1; } public class Test6{ int i = 2; public static void main(String[] args){ Sys…
Java中线程的创建有两种方式: 1.  通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中 2.  通过实现Runnable接口,实例化Thread类 在实际应用中,我们经常用到多线程,如车站的售票系统,车站的各个售票窗口相当于各个线程.当我们做这个系统的时候可能会想到两种方式来实现,继承Thread类或实现Runnable接口,现在看一下这两种方式实现的两种结果. 一:继承Thread类的方式 package com.threadtest; class MyT…
可以的,一个“.java”源文件里面可以包含多个类,但是只允许有一个public类,并且类名必须和文件名一直:例如: package test; public class test { } class test1{ } class test2{ }…
进程(Process)和线程(Thread)是程序执行的两个基本单元. Java并发编程很多其它的是和线程相关. 进程 进程是一个独立的执行单元,可将其视为一个程序或应用.然而,一个程序内部同事还包括多个进程. Java执行时环境就是一个单独的进程,在它内部还包括了作为进程的各种类和程序. 线程 能够将线程看做轻量级的进程. 线程存在于进程其中,须要的资源开销较小.同一进程中的线程共享进程的资源. Java多线程 每个Java引用都仅仅要有一个线程 - 主线程(main thread).尽管后台…
1.创建一个学生实体类Student.java: package com.RMIdemo.entity; @SuppressWarnings("serial") public class Student implements java.io.Serializable{ private int id; private String name; public int getId() { return id; } public void setId(int id) { this.id = i…
经常会接触到vo,do,dto的概念,本文从领域建模中的实体划分和项目中的实际应用情况两个角度,对这几个概念进行简析. 得出的主要结论是:在项目应用中,vo对应于页面上需要显示的数据(表单),do对应于数据库中存储的数据(数据表),dto对应于除二者之外需要进行传递的数据. 一.实体类 百度百科中对于实体类的定义如下: 实体类的主要职责是存储和管理系统内部的信息,它也可以有行为,甚至很复杂的行为,但这些行为必须与它所代表的实体对象密切相关. 根据以上定义,我们可以了解到,实体类有两方面内容,存储…
1.在service包中,分别建立了关于缓存的一系列的接口.类等,封装到一个工具包中: 临时缓存的接口(代码部分): package com.tools; import java.util.Date; public interface CacheTemplet { //设置添加永久缓存,(缓存唯一索引,缓存数据) public void addCache(Object key,Object value); //设置添加缓存,不过需要有一个过期的时间毫秒数限制 public void addCac…
1.接口与回调 package edu.cqu.interfaceTest; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Date; import javax.swing.JOptionPane; import javax.swing.Timer; public class TimeTest { public s…
1.Java的包装类 基本数据类型我们都很熟悉,例如:int.float.double.boolean.char等,基本数据类型不具备对象的特征,不能调用方法,一般能实现的功能比较简单,为了让基本数据类型也具备对象的特性,Java为每个数据类型都提供了一个包装类,这样我们就可以像操作对象一样,操作这些基本数据类型了 常见的包装类和基本类型对应关系如下: 包装类主要提供了两类方法: 1.进行多个类型之间的转换 2.将字符串和本类型及包装类相互转换 比如下面代码: int i = 2; Intege…
路径隶属于文件系统,实际上它是存储和组织媒体文件的格式,通常在一块或多块硬盘设备上,以便于非常容易地检索.文件系统可以通过  java.nio.file.FileSystems 这个final 类来访问,通常我们用来获取它的实例然后做我们想做的事情.FileSystems 包含下面两个非常重要的方法,还有 newFileSystem() 方法,用来构建一个新的文件系统实例. getDefault(): 这个静态方法会返回一个默认的FileSystem 给 JVM——通常是操作系统默认的文件系统.…
1.在一个.java文件中可以有几个类.修饰符只可以public abstract final和无修饰符,不能是其他的private等修饰符.2.public修饰的只能有一个,且要与文件名相同 若没有public的则可与文件名不同.注意不是内部类 3.该文件同级的类之间可以互相调用,但是除了public的类,其他不能够在其他文件调用. 假设Test.java文件中:public class Test{}class Test2{} abstract class Test3{} final clas…
摘要: Java 8 发布三年多之后,即将快到2017年7月下一个版本发布的日期了. 你可能已经听说过 Java 9 的模块系统,但是这个新版本还有许多其它的更新. 这里有九个令人兴奋的新功能将与 Java 9 一起发布. Java 8 发布三年多之后,即将快到2017年7月下一个版本发布的日期了. 你可能已经听说过 Java 9 的模块系统,但是这个新版本还有许多其它的更新. 这里有九个令人兴奋的新功能将与 Java 9 一起发布. 1. Java 平台级模块系统 Java 9 的定义功能是一…
看到大家对上篇<Java面试中遇到的坑>一文表现出强力的关注度,说明大家确实在面试中遇到了类似的难题.大家在文章留言处积极留言探讨面试中遇到的问题,其中几位同学还提出了自己的见解,我感到非常高兴,还有几位同学强烈要求给出题目答案,那我很乐意跟大家一起探讨分享这些题目. 我将题目答案写下来,这个并非标准答案,有不准确的地方请大家辩证补充. 1.StringBuilder替代String拼接,面试中经常会问到String,StringBuilder,StringBuffer的区别. 解答:Stri…
Java 9 中的 9个 新特性 java 7 2011发布,Java 8 2014发布,java9发布于2017年9月21日. 你可能已经听说过 Java 9 的模块系统,但是这个新版本还有许多其它的更新. 这里有九个令人兴奋的新功能将与 Java 9 一起发布. 1. Java 平台级模块系统 Java 9 的定义功能是一套全新的模块系统.当代码库越来越大,创建复杂,盘根错节的“意大利面条式代码”的几率呈指数级的增长.这时候就得面对两个基础的问题: 很难真正地对代码进行封装, 而系统并没有对…
  一个类只能继承一个其他的类 在Java语言中禁止多重继承:一个类可以具有多个直接父类.多重继承不合法的原因是容易引发意义不明确.例如,有一个类C,如果允许它同时继承A类与B类(class C extends A,B{}),假如A.B两个类都有同一种方法fun(),如果定义: C c = new C(); 那么c.fun()应该调用哪一个父类的fun()方法?无法给出答案,因此Java语言禁止多重继承. 但C++却是可以的,所以C++比起java在语法上却难了些. 这一特性和上一特性结合使用,…
Java 8 发布三年多之后,java9已经发布了 . 你可能已经听说过 Java 9 的模块系统,但是这个新版本还有许多其它的更新. 这里有九个令人兴奋的新功能将与 Java 9 一起发布.   1. Java 平台级模块系统 Java 9 的定义功能是一套全新的模块系统.当代码库越来越大,创建复杂,盘根错节的“意大利面条式代码”的几率呈指数级的增长.这时候就得面对两个基础的问题: 很难真正地对代码进行封装, 而系统并没有对不同部分(也就是 JAR 文件)之间的依赖关系有个明确的概念.每一个公…
在dos下编译Java程序,就要用到classpath这个概念,尤其是在没有设置环境变量的时候.classpath就是存放.class等编译后文件的路径. javac:如果当前你要编译的Java文件中引用了其它的类(比如说:继承),但该引用类的.class文件不在当前目录下,这种情况下就需要在javac命令后面加上-classpath参数,通过使用以下三种类型的方法 来指导编译器在编译的时候去指定的路径下查找引用类. (1).绝对路径:javac -classpath c:/junit3.8.1…
写的不错:http://blog.csdn.net/cheney521/article/details/8672066 以下内容源于复制,把自己觉得不错的东西收集起来: 在dos下编译java程序,就要用到classpath这个概念,尤其是在没有设置环境变量的时候.classpath就是存放.class等编译后文件的路径. javac:如果当前你要编译的java文件中引用了其它的类(比如说:继承),但该引用类的.class文件不在当前目录下,这种情况下就需要在javac命令后面加上-classp…