JAVA小问题~~请高手帮帮忙

1、在构造方法中,this有几种用法,都什么时候用,分别为__________。
2、怎样都能让让方法重载,重载的条件是______________________。
3、接口中,类成员的属性默认为__________,类方法的属性为_______。
4、Java中,数据类型有___种,分别为________。
5、Java中,方法的返回类型有___种,分别为___________。

6.this:
①当成员属性与局部属性重名时,在局部体内使用this点取外部的成员属性;

例:
=============================================================================
public class Test {
int a=100;
public void paint(){
int a=200;
System.out.println(a);
System.out.println(this.a);
}

public static void main(String args[]){
Test t=new Test();
t.paint();
}
}
-----------------------------------------------------------------------------
显示结果:
200
100
=============================================================================

②当需要把当前对象作为参数进行传递时使用this,this代表当前对象;
方法重载:
在同一个类中,定义了多个方法,具有相同的方法名,不同的参数列表;(同构造器)
1.接口中的所有方法,都是声明式方法(抽象方法);

2.接口的意义在于被实现;类必须实现接口中的所有方法;

3.接口可以多实现;接口间用,分隔;
4.接口中的属性自动具备三个特征:public.static.final;
5.可以用接口来定义,由实现接口的类给出赋值;
JAVA中的类型
一.原始类型(一经定义就开辟空间: int a=100;a->[空间]->100)首字符小写.运行速度较快;

例:
=============================================================================
public class Test {
public static void main(String[] args) {
int a=7;
int b=a;
a=10; //a和b都有单独的空间
System.out.println(b);
}
}
显示结果:
7
============================================================================

char:字符型 一个字符 char a='A' 单引号 char ch=97 //97对应字符a;Java中中文字和英文字同样都用一个字符表示,即占2字节;
byte:字节型,占单字节;
short短整型,占2个字;
int整型,占4个字节;
long长整型,占八字节;
float 单精度浮点型;
double 双精度浮点型. //不能用于精确的浮点计算* float f=3.5f; double d=3.7; (BigDecimal用于精确地浮点计算)java中未定义的浮点数默认为double型;
boolean boolean b=true java中不能赋0或1,只能赋true或false.占2字节.
//true或false只能是小写

例:
=============================================================================
public class Test1{
public static void main(String[] args){
char a='A';
int b=100;
float c=3.5f;
double d=7.5;
boolean e=true;

System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
System.out.println(e);
}
}
-----------------------------------------------------------------------------
显示结果:
A
100
3.5
7.5
true
=============================================================================
注:
java中不允许未经定义的赋值;

例:
=============================================================================
public class Test2 {
public static void main(String[] args) {
int a=1;
int b=6;
int c=a+b;
System.out.println("c="+c);
}
}
-----------------------------------------------------------------------------
显示结果:
c=7
=============================================================================

类型转换说明:
1.自动类型转换(隐式类型转换):将精度小的数据类型(如int)赋值给精度大的数据类型变量(如double)时,精度不会丢失,这样的赋值是可行的;例:int a; byte b=10; a=b;
2.强制类型转换(显式类型转换):将精度大的数据类型直接赋值给精度小的数据类型,出错;这时需要强制转换:例:int a=10; byte b; b=(byte)a;
但是强制类型转换容易丢失数据:例:int a=266; byte b; b=a; 因为int占4个字节,byte占一个字节,266在int型的存储为[ ][ ][256][10] ;在赋值的时候只将最后一个字节里的10赋值给了b,丢失数据;

*表达式类型自动提升说明*:
1.参与运算的数值的数据类型精度高于定义的变量的数据类型,会将定义变量的类型自动提升为高精度的数据类型参与计算,结果也为高精度的数据类型,这时再将结果赋值给定义的低精度变量,出错;
例:byte b; b=b-1; 出错;1是int型,b-1,会将b自动提升为int型后,再参与运算,同时,计算结果2,也是int型,这时再将2赋值给byte型的b,出错;

2.表达式中有字符串""(双引号),用+号与其他数据类型相加,表示字符串与其他数据类型相连,生成一个新的字符串;
例:System.put.println('a'+1); 结果为98;a被提升为int型(97)后与1相加,所以结果为98;
System.put.println(""+'a'+1); 结果为a1;

二.类 类型(共享内存) 类类型首字符大写
String是类类型(String是字符串常量,不能改,只能重新开辟空间)
1.系统类
2.自定义类
3.第三方类
7种 原始八大类型 和类类型
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-11-20
一、this可以调用java内置方法,可以调用自定义变量
1、this指向当前类的对象,也就是TwoListen类的对象。由于MouseMotionListener,MouseListener 都是接口,因此
f.addMouseMotionListener(this);//(************************)
f.addMouseListener(this); //(************************)
中分别需要一个实现了MouseMotionListener和MouseListener接口的类的实例。

在本例子中 TwoListen类都实现了这两个接口,因此可以用本类的实例来做参数。或者新建一个实现了这两个接口的类,再用这个类的实例做参数。

2、在该例子中,this指向生成的two对象。为什么用two替换后就不能运行了呢?
因为two是在main方法中定义的,是局部变量;而在go方法中并不能访问其他方法中定义的局部变量。
如果把two定义为全局变量,如:
static TwoListen two;
再在main方法中定义:
two=new TwoListen();

这时就可以用two代替this了
二、方法重载必须在一个类中,方法名一样,方法的参数不一样(类型,顺序,个数).
三、接口中 类成员属性默认 public static final
类方法为 public
四、java有八种基本数据类型,int 4个字节 short 2个字节 long 8个字节 byte 2个字节 float 4个字节 double 8个字节 字符类型 布尔类型 。
五、方法的返回类型int 4个字节 short 2个字节 long 8个字节 byte 2个字节 float 4个字节 double 8个字节 字符类型 布尔类型 。
第2个回答  2009-11-19
1两种,1指代用该构造方法创建的当前对象2调用其他构造方法
2方法名称相同,返回值类型或个数不同
3abstract abstract
4基本数据类7种 byte short char int long float double还有引用类型
5就是以上的本回答被提问者采纳
第3个回答  2009-11-19
1楼

java问题求解!!请高手帮忙啊!我是新手!!
1、新建系统变量JAVA_HOME变量(JAVA_HOME指明JDK安装路径。)设定值为:C:\\Java\\jdk1.6.0_04 2、在系统变量中的path中添加(Path使得系统可以在任何路径下识别java命令。):;%JAVA_HOME%\\bin;%JAVA_HOME%\\jre\\bin;%CATALINA_HOME%\\bin 3、新建系统变量CATALINA_HOME 设定值为:C:\\Java\\apache-t...

java问题,求各路高手齐来踊跃解答。。。我想知道正确答案啊
答案:JavaSE\\JavaME\\JavaEE 2、在Java中如何定义变量名?变量的作用是什么?答案:path:\\Java路径 3、定义变量分哪两个步骤?是否必须在Java程序的前面声明变量?答案:自己看书去,这是书上原话,字太多了,所以我就不打了 4、以下程序段的输出结果为___。for(i=0;i<5;i++){for(j=0;j<5;j...

java初学提问 关于执行过程 和继承的一些问题,请各位大虾帮忙 谢谢
1.首先,你的main方法是写在Demo类里的,当运行这个main方法时,执行A a = new A()时;需要new一个A类的对象,在new出这个对象之前,JVM会在堆中装载A类,这时候,会初始化A类的所有静态成员,所以static会被执行一次,然后执行new A()。不过,所有静态成员都只会初始化一次。(静态成员...

java问题,帮忙回答下,谢了
1.MyApplet.java 2.javac MyJavaApplication.java java MyJavaApplication 3. 单 双 4.package MyPackage 最上边 5.204060

JAVA高手帮帮忙。帮忙做几个题目。
5.B (我不确定) JVM是Java平台无关的基础,在JVM上,有一个Java解释器用来解释Java编译器编译后的程序。Java编程人员在编写完软件后,通过Java编译器将Java源程序编译为JVM的字节代码。任何一台机器只要配备了Java解释器,就可以运行这个程序,而不管这种字节码是在何种平台上生成的。6.A 7.A 8.C...

自学JAVA,遇到以下问题,跪求java大神帮忙。需要class interface或者enum...
\/\/一下是修改后的代码,希望可以帮到你 import java.util.*;public class Testt{ \/\/这里的public关键字写错了 public static void main(String[] args){ Scanner inx=new Scanner(System.in);System.out.println("———请出拳———");System.out.println("1.石头 2.剪刀 3.布");int p...

...个java小程序,提示错误,可是我找不到,请高手帮忙找错……
System a2=br.readLine();这里出了问题。写成String a2才对。我学JAVA挺久了。我给你写建议。1.对于变量的命名最好用这个变量作用的英文单词。不要写什么a1、a2这样子的,至少写str1,str2人家也知道是字符串型。还有 if (num1>num2){ System.out.println("第一个大");} if (num1==num2)...

JAVA编程问题求大神帮忙看看解答谢谢!
for(String strone : str){ System.out.println(strone);} } 以上我的代码供参考 你的问题:1 、定义的数组类型有问题 讲解:字符数组用该用char 或者String 你这个由于是中文字符串,所以用String char 和String 定义是需要引号引起来,2 、java中,结束一段表达式的时候要用英文的分号结...

JAVA简单问题,高手进下帮帮忙,谢谢!
低 住 佐 佑 佒 体 占 何 佖 佗 佘 余 佚 佛 作 佝 佞 佟 你 佡 这是运行结果,解释:i是从20302开始循环,然后将其强转成char类型进行输出,由于你直接把int类型赋值给char类型,就相当于你把ASCII码直接赋值给了char类型,所以打印出来的是ASCII码所对应的汉字 ...

JAVA问题,求高手!!!
SubClass(int n) { super(n);System.out.println("SubClass(" + n + ")");this.n = n;} 子类继承父类,父类的无参构造系统可以默认调用,就是子类无参构造中可以不用写父类的无参构造super()。但有参构造必须要显式调用,即子类有参构造第一行必须调用父类的有参构造。修改后结果:Super...

相似回答