JAVA小问题~~请高手帮帮忙
发布网友
发布时间:2022-11-20 13:54
我来回答
共4个回答
热心网友
时间:2023-05-11 00:08
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种 原始八大类型 和类类型
热心网友
时间:2023-05-11 00:09
一、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个字节 字符类型 布尔类型 。
热心网友
时间:2023-05-11 00:09
1两种,1指代用该构造方法创建的当前对象2调用其他构造方法
2方法名称相同,返回值类型或个数不同
3abstract abstract
4基本数据类7种 byte short char int long float double还有引用类型
5就是以上的
热心网友
时间:2023-05-11 00:10
1楼