Java笔试--代码纠错
package practice.javase;
public abstract class Name {
private String name;
public abstract boolean isStupidName(String name){};
}
错误:编译无法通过,原因抽象方法不能有方法体;改正,将抽象方法改为普通方法,或去掉方法体;
package practice.javase;
public abstract class Name {
private String name;
public abstract boolean isStupidName(String name);;
}
package practice.javase;
public abstract class Name {
private String name;
public boolean isStupidName(String name){
return false;};
}
package practice.javase;
public class Something {
void doSomething(){
private String s = "";
int l = s.length();
}
}
错误:编译无法通过,原因局部变量不能有权限修饰符,权限修饰符是为了设置访问权限而设定的,局部变量的访问权限已经确定是在方法体内了,故错误,改正,去掉权限修饰符;
package practice.javase;
public class Something {
void doSomething(){
String s = "";
int l = s.length();
}
}
package practice.javase;
public abstract class Something1 {
private abstract String doSomething();
}
错误:编译无法通过,原因抽象类中的抽象方法是要被其子类继承和重写的,所以权限只能是public或者protected,或者默认权限,不能使private,private不能被其他类访问,和抽象本意冲突,没有意义;
package practice.javase;
public abstract class Something1 {
abstract String doSomething();
}
package practice.javase;
public class Something2 {
public static void main(String[] args) {
Something2 something2 = new Something2();
something2.doString();
System.out.println("something2.doString return"+doString());
} public String doString(){
return "Do SomeString.....";
}
}
错误:静态方法中不能调用非静态的方法或成员变量,如果想调用,只能通过对象调用,因为他是实例方法不是类方法;
package practice.javase;
public class Something2 {
public static void main(String[] args) {
Something2 something2 = new Something2();
something2.doString();
System.out.println("something2.doString return"+something2.doString());
} public String doString(){
return "Do SomeString.....";
}
}
此处Somestring3类的文件名是OtherString.java
package practice.javase;
public class Something3 {
private static void main(String[] something_to_do){
System.out.println("Do Something....");
}
}
错误:这段代码编译不会报错,但是我们注意一个问题Somestring3类的文件名是OtherString.java,那么就一定不正确,java的机制是编译后生成.java文件,解释器解释成二进制文件
package practice.javase;
public class OtherString {
private static void main(String[] something_to_do){
System.out.println("Do Something....");
}
}
package practice.javase;
public interface A {
int x = 0;
}
package practice.javase;
public class B {
int x = 1;
}
package practice.javase;
public class C extends B implements A{
public void pX(){
System.out.println(x);
}
public static void main(String[] args) {
new C().pX();
}
}
Class C编译报错:
接口的含义理解:接口可以理解成统一的"协议",而接口中的属性也属于协议中的内容;但是接口的属性都是公共的,静态的,最终的
接口的成员特点:
A:成员变量 只能是常量。默认修饰符 public static final
B:成员方法 只能是抽象方法。默认修饰符 public abstract
推荐:永远手动给出修饰符。
在Class C中继承了B,继承了B中非私有的方法和属性,但要通过super关键字来调用父类中的成员变量和方法;
package practice.javase;
public class C extends B implements A{
public void pX(){
System.out.println(super.x);
}
public static void main(String[] args) {
new C().pX();
}
}
package practice.javase;
public interface Playable {
void play();
} package practice.javase;
public interface Bounceable {
void play();
} package practice.javase;
public interface Rollable extends Playable, Bounceable{
Ball ball = new Ball("PingPang");
} package practice.javase;
public class Ball implements Rollable{
private String name;
public Ball(String name) {
super();
this.name = name;
}
public String getName() {
return name;
} public void play(){
ball = new Ball("FootBall");
System.out.println(ball.getName());
} } 错误:编译错误,错误在ball = new Ball("FootBall");,变量未经声明,
package practice.javase;
public class Ball implements Rollable{
private String name;
public Ball(String name) {
super();
this.name = name;
}
public String getName() {
return name;
} public void play(){
Ball ball = new Ball("FootBall");
System.out.println(ball.getName());
} }
Java笔试--代码纠错的更多相关文章
- Java笔试面试题整理第八波
转载至:http://blog.csdn.net/shakespeare001/article/details/51388516 作者:山代王(开心阳) 本系列整理Java相关的笔试面试知识点,其他几 ...
- Java笔试面试题整理第六波(修正版)
转载至:http://blog.csdn.net/shakespeare001/article/details/51330745 作者:山代王(开心阳) 本系列整理Java相关的笔试面试知识点,其他几 ...
- Java笔试面试题整理第五波
转载至:http://blog.csdn.net/shakespeare001/article/details/51321498 作者:山代王(开心阳) 本系列整理Java相关的笔试面试知识点,其他几 ...
- Java笔试面试题整理第二波
转载至:http://blog.csdn.net/shakespeare001/article/details/51200163 作者:山代王(开心阳) 本系列整理Java相关的笔试面试知识点,其他几 ...
- Java笔试面试题整理第一波
转载至:http://blog.csdn.net/shakespeare001/article/details/51151650 作者:山代王(开心阳) 本系列整理Java相关的笔试面试知识点,其他几 ...
- 应聘Java笔试时可能出现问题及其答案
有感:应聘Java笔试时可能出现问题及其答案 huij 前段时间因为要参加一个笔试,在准备期间在网上找到了两条关于笔试题目的文章,其中一篇为<<有感:应聘Java笔试时可能出现问题> ...
- java静态代码块/静态属性、构造块、构造方法执行、main方法、普通代码块的顺序
java静态代码块/静态属性.构造块.构造方法执行.main方法.普通代码块的顺序 这也是在笔试中的一个重要的考点,就有一个输出语句让你写出输出的结果. 理论知识: 静态代码块是:属于类的,在类加载时 ...
- 【Java笔试】OYO校招Java工程师|牛客平台,算法:字符串翻转。附选择题解析
文章目录 1.Java笔试算法题:字符串翻转 2.单选题: 2.1.同一进程下的多个线程可以共享哪一种资源:data section 2.2.一个树形的叶结点在前序遍历和后序遍历下,可以相同的相对位置 ...
- Java 笔试面试(6)异常处理
Java 笔试面试(6)异常处理 1. finally的代码何时执行? 问题描述:try{}里有一个return语句,那么在这个try后面的finally{}中的代码是否为执行?如果会,是在retur ...
随机推荐
- go test遇到的一些问题-command-line-arguments undefined: xxxxx
一 问题是在我写算法题的时候出的,test后缀的文件编译报command-line-arguments undefined: xxxxx 二 没记错,go test是 所有在以_test结尾的源码内以 ...
- mvc表单如何绑定bool类型的属性或变量
先来看一组代码: 视图代码: @model MvcTest.Controllers.Test @{ Layout = null; } <!DOCTYPE html> <html> ...
- Java使用UDP聊天程序
主要想测试Java UDP通信.Java UDP使用DatagramSocket和DatagramPacket完成UDP通信 主要思路: 1.本机通信,ip地址为:127.0.0.1 2.开一个线程监 ...
- 超级简单的jQuery纯手写五星评分效果
超级简单的评分功能,分为四个步骤轻松搞定: 第一步: 引入jquery文件:这里我用百度CDN的jquery: <script src="http://apps.bdimg.com/l ...
- boost库的配置——Linux篇
Boost库分为两个部分来使用,一是直接使用对应的头文件,二是需要编译安装相应的库才可以使用. 下面是boost在Linux上安装和使用过程(整个boost库全部安装): (1)在www.boost. ...
- android学习之VelocityTracker
今天大概的学习了一下 VelocityTracker ,用来监控手势速度的,在View移动过程中,可以有个缓冲的移动. 我觉得初步的使用起来是很简单的. 首先移动依靠的是Scroller类,Scro ...
- java面试题之----super和this
super和this的异同: super(参数):调用基类中的某一个构造函数(应该为构造函数中的第一条语句) this(参数):调用本类中另一种形成的构造函数(应该为构造函数中的第一条语句) supe ...
- Siebel应用数据结构层次
在Siebel应用里数据在多个层次上使用了不同的定义方式,每一个层次侧重于数据的不同的特征,主要分为数据用户界面层定义(UI),业务逻辑层定义(Business Layer,可以是业务含义层)以及数据 ...
- 一对多sql
<!-- 分页查询派货成本 --> <select id="queryCostRegionPriceBycondtion" parameterMap=" ...
- June 05th 2017 Week 23rd Monday
No great discovery was ever made without a bold guess. 没有大胆的猜测就没有伟大的发现. I've read this sentence just ...