Object类,值域,泛型等总结(适合有基础的人看)

java的作用域在编程的时候经常会遇到,而我经常会搞不清楚这个

问题,所以在家的这几天回忆一下过去不知道的每个小知识点

 

变量的值域;

 

package 基础;

/**
 * 作用域的范围
 * 
 * @author Administrator
 * 
 */
public class zuoyongyu {
public static void main(String[] args) {
zuoyongyu demo = new zuoyongyu();
// 定义变量
int x = 2;
System.out.println(" int x =" + x);

demo.count(x);
// 调用Count的方法后再打印,局部变量的范围是所在方法的范围,一旦离开这个方法作用域就消失
System.out.println("xx =" + x);
}

// 将变量的值传到方法中来,重新赋值,并打印
public void count(int x) {
x = 10;
System.out.println("x =" + x);
}

}

 

 

运行结果:

int x =2

x =10

xx =2

 

 

int x = 2;等价于C语言的全部变量,x = 10;等价于C语言的局部变量

JAVA没有全局变量,  局部变量只在所在的范围有用,

 

 

 

2,Object类强制转型的问题

package 基础;

/**
 * Object类的强制转换
 * 
 * @author Administrator
 * 
 * 当一个类没有显示扩展的是其他类,默认的还Object类,所有对象
 * 都是Object的多态形式,
 */
public class Demo {
public static void main(String[] args) {
//创建对象
Demo demo = new Demo();
//字符串赋值
String name = "pen";
//字符串赋给Object
Object obj = name;
System.out.println(name==obj);//引用的同一个对象所有为true
//将Object赋给字符串,需要强制转型,在对象流中经常会遇到
name = (String) obj;
}

}

 

 

 

3,泛型

         泛型的子类继承;

          在JAVA中子类的继承一般使用extends继承父类,或者是implements某些接口

          
        Number n = new Integer(12);Integer是Number的子类  
       这是向上转型,但是泛型有点变化
       
      List<String> list = new ArrayLsit<String>();//定义一个队列装字符串类型的
      List<Object> lo= list;
      第一行代码是正确的,第二行代码list<String>赋值给List<Object>,是错误的,在泛型中不可以这样做
       
      List<String> list1 = new ArrayLsit<String>();
      List<Integer> list2 = new ArrayLsit<Integer>();
      list1 = list2;//错误
      list2 = list1;//错误

 

       

       

      通配符:

        

        在泛型中进场会遇到不知道泛型的类型,需要最后才知道,这时我们可以将其定义为

     通配符,这样后面就好定义了

   

  List<?> c = new ArrayList<Object>();    
     c.add(new Object());//编译出错
     c.add(null);//这里不知道c的类型,所以不能再其中添加对象,唯一列外的就是null,它是所有类型的成员
   

   

     

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值