Java基础常见错误
2015-12-05 09:53
471 查看
学习Java的时候,顺便整理了几个容易忽略的错误:
(一):
import java.io.*;
class Dec{
public void decrement(double decMe){
decMe=decMe-0.1;
System.out.println(decMe);//是没有传出去,所以那个d的值没有改变
}
}
class Q1{
public static void main(String args[]){
double d=1.23;
Dec dec=new Dec();
dec.decrement(d);
//System.out.println(d);
}
}
(二):
import java.io.*;
class A{
int a=1;
public A(int a){
this.a=a;//而这个却是指向的就是成员变量,所以改变了。
}
public A(){
int a=10;//因为是在函数里面定义的局部变量,没有改变成员变量的值
}
}
class B extends A{
public B(int a){
super(a);
}
public B(){
super();
}
public static void main(String args[]){
B b=new B();System.out.println(b.a);
b=new B(20); System.out.println(b.a);
}
}
(三):
import java.io.*;
class A{
void show(){
System.out.println("showA");
}
void display(){
System.out.println("A.display()");
}
}
class B extends A{
void show(int i){
System.out.println("showB");
}
void display(){
System.out.println("B.display()");
}
}
public class reView37{
public static void main(String args[]){
A a=new B();
a.display();
a.show(1);
}
}
//这个程序是有错误的,原因是a是父类的引用,在子类产生的对象,
//它只能调用父类的show(),却不能调用子类的show(int i),可以调用方法重写,
//不能调用重载的函数
(四):
import java.io.*;
public class reView40{
public static void main(String args[]){
B b=new B(2000);
}
}
class A{
int a=5;
A(){
System.out.println("A..."+a);
}
}
class B extends A{
int b=3;
B(int x){
b=x;System.out.println("B..."+b);
}
}
//结果A和B都会显示出来,原因是按照从父类到子类的顺序调用构造函数
(五):
import java.io.*;
public class reView42{
public static void main(String args[]){
A a=new A();
A.B b=a.new B();
b.mb(333);
}
}
class A{
private int s=111;
class B{
private int s=222;
public void mb(int s){
System.out.println(s);
System.out.println(this.s);
System.out.println(A.this.s);
}
}
}
//内部类的声明和调用,this的使用
(一):
import java.io.*;
class Dec{
public void decrement(double decMe){
decMe=decMe-0.1;
System.out.println(decMe);//是没有传出去,所以那个d的值没有改变
}
}
class Q1{
public static void main(String args[]){
double d=1.23;
Dec dec=new Dec();
dec.decrement(d);
//System.out.println(d);
}
}
(二):
import java.io.*;
class A{
int a=1;
public A(int a){
this.a=a;//而这个却是指向的就是成员变量,所以改变了。
}
public A(){
int a=10;//因为是在函数里面定义的局部变量,没有改变成员变量的值
}
}
class B extends A{
public B(int a){
super(a);
}
public B(){
super();
}
public static void main(String args[]){
B b=new B();System.out.println(b.a);
b=new B(20); System.out.println(b.a);
}
}
(三):
import java.io.*;
class A{
void show(){
System.out.println("showA");
}
void display(){
System.out.println("A.display()");
}
}
class B extends A{
void show(int i){
System.out.println("showB");
}
void display(){
System.out.println("B.display()");
}
}
public class reView37{
public static void main(String args[]){
A a=new B();
a.display();
a.show(1);
}
}
//这个程序是有错误的,原因是a是父类的引用,在子类产生的对象,
//它只能调用父类的show(),却不能调用子类的show(int i),可以调用方法重写,
//不能调用重载的函数
(四):
import java.io.*;
public class reView40{
public static void main(String args[]){
B b=new B(2000);
}
}
class A{
int a=5;
A(){
System.out.println("A..."+a);
}
}
class B extends A{
int b=3;
B(int x){
b=x;System.out.println("B..."+b);
}
}
//结果A和B都会显示出来,原因是按照从父类到子类的顺序调用构造函数
(五):
import java.io.*;
public class reView42{
public static void main(String args[]){
A a=new A();
A.B b=a.new B();
b.mb(333);
}
}
class A{
private int s=111;
class B{
private int s=222;
public void mb(int s){
System.out.println(s);
System.out.println(this.s);
System.out.println(A.this.s);
}
}
}
//内部类的声明和调用,this的使用
相关文章推荐
- 圣思园java se培训总结(22-24)(static和final)
- 简介Java的Spring框架的体系结构以及安装配置
- POI导出JavaWeb中的table到excel下载
- 圣思园java se培训总结(17-21)(继承和多态)
- Eclipse 修改maven 仓储Repository位置
- JAVA设计模式之单例设计模式
- JAVA中的转义字符
- 【JAVA】集合交并补
- 制作一个简单的包含有过滤器的登录程序
- java流分析一个基础程序
- 用Java注册用户并保存在数据库中
- 【java】java内存模型 (1)--基础
- Java中如何将String转成Date
- Struts2_学习笔记(二)--------Namespace、Action、Path、ActionMethod_DMI、ActionWildcard
- Struts2_学习笔记(一)--------学习工具下载、HelloWorld、运行机制
- 多态
- myeclipse导入项目显示js文件报错
- java多线程学习(六)---Thread其它方法
- java数据类型图
- Java基础