Java基础篇

合抱之木,生于毫末;九层之台,起于垒土;千里之行,始于足下。

目录

5.this、super 关键字的使用:

6.“==”和equals的区别:

7.Object类中tostring的使用:

8.对象的向上转型和向下转型:

     9.instance of 操作符

10.基本数据结构和包装类

11.static关键字的使用

顺便提一个小知识点:Java中的JUnit单元测试


1.println  不会从新行开始打印文本。它会在当前行上打印文本,但会使下一个文本打印在新行上。

2.Java 语言区分大小写。 int a 和 Int a 不同

3.当你添加字符串和数字时,结果始终是一个字符串

4.Java里方法的参数传递方式只有一种:值传递。即将实际参数的副本(复制品)传入方法内,而参数本身不受影响。
          》形参是基本数据类型,将实参基本数据类型变量的“数据值”传递给形参。
          》形参是引用数据类型,将实参引用数据类型变量的“地址值”传递给形参。

5.this、super 关键字的使用:

        this理解为当前对象(用于属性和方法中)或当前正在创建的对象(用在构造器中)。

        this调用属性、方法:

class person{
	private int age = 0;
	private String name ;

	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;//此时因为形参与实例变量同名,所以要显式的使用this来修饰实例变量
	}
		
}

this调用构造器:

        ①在类的构造器中,可以在第一行显示的使用this(形参列表),来调用本类中指定的其他构造器。

       ② 构造器不能通过this(形参列表)方式调用自己。

        ③如果一个类中有n个构造器,则最多有n-1个构造器使用了this(形参列表)

        ④构造器内部,最多只能声明一个this(形参列表)。用来调用其他的构造器。

super关键字的使用:

        super理解为:父类的。可以用来调用属性、方法、构造器。

        super的使用:

        ①我们可以在子类的方法或者构造器中,通过使用super.属性或者super.方法的方式,显式的调用父类的属性和方法,通常可以省略。但若子类中定义了与父类重名的属性或方法时,则必须使用super关键字。(super会直接在父类中去找这个属性或方法,而this会在当前类中寻找,找不到则会在父类中寻找)。

        ②当父类中的方法被子类重写时,我们仍可以通过 super.方法的形式在子类中来调用父类被重写的方法。

6.“==”和equals的区别:

 
   “==”作用于基本数据类型时,比较的是值,作用于引用数据类型时比较的时地址值;
   equals是一个方法,只能通过对象调用,未被重写时和“==”作用相同,在被重写后如String、         date、file比较的是其中的内容

7.Object类中tostring的使用:


    Ⅰ:当我们输出一个对象的引用时,实际上就是调用该对象的toString()方法
    Ⅱ:object类中tostring的定义:
        public String toString(){
        return getclass().getname()+"@"+Integer.toString(hashCode);
    }

    Ⅲ:String,Data,File,包装类等都重写了toString方法

8.对象的向上转型和向下转型:

    设有父类Person和子类man和woman;
    Person p = new man();//向上转型,即多态。对象的多态性:父类的引用指向子类的对象
    man m = (man)p;//向下转型,类似于强制类型转换。多态的使用:当调用字父类同名同参数的      方法时,实际执行的时子类重写父类的方法----虚拟方法的调用
    特点:编译看左,执行看右
    p只能调用    Person类的属性和方法,但执行时调用的却是man类的。为了调用Person类的属性和方法,要向下转型。
    注意点:
    Ⅰ:编译通过,运行不通过
        例1:Person p = new woman();
                man m = (man)p;

        例2:Person p = new Person();
                man m = (man)p;

    Ⅱ:编译通过,运行也通过
          Object obj = new woman();
          Person p = (Person)obj;

    Ⅲ:编译、运行都不通过
          man m = new woman();  

 
    
9.instance of 操作符

      x instance of A:检验x是否为类A的对象,返回值为boolean型。
      要求x所属的类与类A必须是子类和父类的关系,否则编译错误。
      如果x属于类A的子类B,x instance of A值也为true。

10.基本数据结构和包装类


    包装类调用tostring方法输出的内容为数值型。
    包装类到基本数据类型为:调用包装类Xxx的xxxValue()。
    JDK5.0新特性:自动装箱和自动拆箱
    int i = 0;
    Integer n = i; 

    String 类型转换为基本数据类型和包装类:调用包装类的parsexxx;
    例如:string s = "abc123";
    Integer i = Integer.parseInt(s);//返回值为int型
    基本数据类型和包装类转换为string类型:1.连接运算 2.调用string类重载的valueof(Xxx xxx);
    例如:float f = 26f;
    String s = String.valueof(f);

    
   

11.static关键字的使用

 static可以用来修饰属性,方法,内部类,代码块。可以直接通过类名调用。

static修饰属性:被static修饰的属性称为静态变量(类变量),没有static修饰的称为实例变量(非静态变量)。静态变量随着类的加载而加载且早于对象的创建。由于类只会加载一次,则静态变量在内存中也只加载一次,存在方法区的静态域中。

实例变量:当我们创建了类的多个对象,每个对象独立的拥有一套类中的非静态属性,当修改其中一个对象的非静态属性时,不会对其他对象的非静态属性产生影响。

静态变量:当我们创建了类的多个对象,对个对象共享同一个静态变量。当通过某一个对象修改静态变量时,会使其他对象调用此静态变量时,是修改过的。

static修饰方法:

        ①随着类的加载而加载,可以通过类.静态方法的方式进行调用

        ②静态方法中只能调用静态方法或属性,而非静态方法中可以调用非静态或静态的属性或方法。

        ③静态方法中不能使用this和super关键字。

    

顺便提一个小知识点:Java中的JUnit单元测试

步骤1.选中当前项目,右键选择 build path->add libraries->JUnit5->下一步;

        2.创建Java类,进行单元测试。对类的要求是public的,提供公共无参的构造器。

        3.在此类中声明单元测试方法。对方法的要求是public的,无返回值类型,无参数。

        4.在单元测试方法前加上注解@Test,并在类中导入 import org.JUnit.Test

        5.声明好单元测试方法后,左键选中方法名,右键选择 run as ->JUnit Test;

 结果:处理结果没有异常,则显示绿条;

          若出现异常,则显示红条。

import org.JUnit.Test
public class JUnitTest{
    @Test
    public void testxxx{
        
        
    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值