java基础(一)---this,super和integer

1.this和super的区别

this和super都只能用在非静态方法中,不可以出现在静态方法中,如static,final

this:只能用于方法体内,相当于c中的指针,指向成员变量,this作用于子类中

private String password;
public void first(){
    system.out.println("this不能出现在静态方法中");
}

public void second(){
      this.first();
      this.password;
}

super:调用父类的构造函数,或者一个类的非static成员内部使用.比如super.method()

必须写在构造函数的第一行

class FatherClass {
    public int value;
    public void f(){
         value = 100;
         system.out.println("FatherClass value = " + value);
    }
}

class ChildClass extends FatherClass{
    public int value;
    public void f(){
          super.f();
          value = 200;
          system.out.println("ChildClass.value=" + value);
          system.out.println(value);
          system.out.println(super.value);
    }
}

2.java中int和integer的区别

(1). int是基础数据类型,而integer是复杂数据类型,且integer是一个类

在类初始化时int变量初始为0,integer为null

(2). 初始化

int i = 1; Integer i = new Integer(1);

(3). 在ArrayList和hashmap中增加数据时,只能使用integer, 

并且泛型定义时也不支持int: 如:List<Integer> list = new ArrayList<Integer>();可以  而List<int> list = new ArrayList<int>();则不行

ArrayList al=new ArrayList();
iint n = 1;
Integer nI=new Integer(n);
al.add(n);//不可以
al.add(nI);//可以

int只是用来进行一些加减乘除的运算or作为参数进行传递

integer可以进行对象操作

(4). 其他函数类似

float Float;double Double;string String

基本数据类型 包装类
byte Byte
boolean Boolean
short Short
char Character
int Integer
long Long
float Float
double Double

(5). int和integer类型转换

第一种为:

//int转Integer
int i = 0;
Integer test= new Integer(i);
//Integer 转int
Integer wrapperi = new Integer(0);
int i = wrapperi.intValue();
//由于有autoboxing的存在,可以直接使用
int i = 0;
Integer test =  i;
//valueof也可以进行类型转换,且效率更高,存在一个缓存机制
public static Integer valueOf(int i)  

int i = 0;
Integer test= Integer.valueOf(i);
时间: 2024-10-10 15:49:51

java基础(一)---this,super和integer的相关文章

《Java架构筑基》从Java基础讲起——Int和Integer深入分析

1.关于int和Integer的问题区别分析 编译阶段.运行时,自动装箱 / 自动拆箱是发生在什么阶段? 使用静态工厂方法 valueOf 会使用到缓存机制,那么自动装箱的时候,缓存机制起作用吗? 为什么我们需要原始数据类型,Java 的对象似乎也很高效,应用中具体会产生哪些差异? 阅读过 Integer 源码吗?分析下类或某些方法的设计要点? int和Integer的区别 1.Integer是int的包装类,int则是java的一种基本数据类型 2.Integer变量必须实例化后才能使用,而i

java基础巩固系列(二):Integer与int之间的区别

在JDK1.5之后引入了自动装箱(autoboxing)与自动拆箱(unboxing),这让很多对java的初学者感到很疑惑,我刚才也是其中一员. 首先,有一些基本的概念需要了解: 1.Ingeter是int的包装类,int的初值为0,Ingeter的初值为null. 2.Integer是一个类,用Integer声明一个变量是一个对象类型(或者说引用类型):int是基本类型,用int声明的变量是非对象类型,即不能在其上调用方法. 3."=="作用于对象上的时候,其比较的是对象的引用本身

java基础之super关键字

一.在java里面,对于super关键字通常有两种用法: 1. 用在子类的构造方法里(初始化用),主要是调用父类的默认构造方法,如果父类有不止一个构造方法,可以通过super指定具体的构造函数,比如 super(paras): 2. 用在子类里调用隐藏或重写的属性或行为,比如 super.onDestroy()等等: 对于第1种需要注意,super表示当前类的父类,super()调用的是父类默认的构造方法,即这样可以对父类进行初始化.如何没有对父类进行初始化,当子类调用父类的方法时,便会从逻辑上

JAVA基础--super关键字

super一般出现子类的构造方法中.super语句必须写在第一行,super一般用来调用父类的构造方法.是为了给父类的属性初始化,以便子类使用这些属性. 子类继承后,如果没有定义自己的属性或者重写自己的方法,那么当创建对象之后,对象调用的就是父类中的属性和方法. 如果拥有则使用自己的属性和方法. 在JAVA类中使用super来引用父类的成分,用this来引用当前对象,如果一个类从另外一个类继承,我们new这个子类的实例对象的时候(调用构造器的时候)这个子类对象里面又会创建一个父类对象super.

java基础:super关键字

  在JAVA类中使用super来引用父类的成分,用this来引用当前对象,如果一个类从另外一个类继承,我们new这个子类的实例对象的时候,这个子类对象里面会有一个父类对象.怎么去引用里面的父类对象呢?使用super来引用,this指的是当前对象的引用,super是当前对象里面的父对象的引用. 1.1.super关键字测试 1 package cn.galc.test; 2 3 /** 4 * 父类 5 * @author gacl 6 * 7 */ 8 class FatherClass {

Java基础语法

Java的基础语法中包含字符集.标识符和关键字.变量和常量.语句.注释.运算符和表达式这些基本要素. 一.关键字 编程语言都有一些保留的单词,用于定义该语言,这些单词对于编译器有特殊含义,不能作为标识符使用: Java中的true.false.null这三个保留字,不能作为标识符使用,对于编译器有特殊含义: main是一个用于描述Java程序开始方法的特殊名称,它不是一个关键字: abstract 抽象 boolean 逻辑运算: 布尔 break 打破: 断开 byte 字节: case 例,

java基础问题总结

1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节.抽象包括两个方面,一是过程抽象,二是数据抽象. 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法.对象的一个新类可以从现有的类中派生,这个过程称为类继承.新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类).派生类可以从它的基类那里继承方法和实例变量,并

一天一个Java基础——泛型

这学期的新课——设计模式,由我仰慕已久的老师传授,可惜思维过快,第一节就被老师挑中上去敲代码,自此在心里烙下了阴影,都是Java基础欠下的债 这学期的新课——算法设计与分析,虽老师不爱与同学互动式的讲课,但老师讲的挺好,不过由于数据结构欠缺课听的有点烧脑,都是数据结构欠下的债 这学期的新课——英语口语,虽外教老师风骚逗趣浪荡不羁爱自由,但我辈词汇量欠缺,表明淡定说yeah,但心中一万匹草泥马策马奔腾,都是英语欠下的债 1.泛型类 实体类(容器类),经常重用的类,下面是一个没有用泛型的实体类: 1

黑马程序员——Java基础---集合框架工具类

黑马程序员——Java基础<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------ 一.概述 Java为操作Set.List和Map提供了一系列工具类,主要有Collections和Arrays.这两个工具类的特点:类中的方法都是静态的,不需要创建对象,直接使用类名调用即可.Collections:是集合对象