Java

JAVA 基础 / 变量

  • JAVA 基础 / 变量 / 变量系列教材 (六)- 什么是JAVA的作用域:
    1. 当一个变量被声明在类下面变量就叫做字段 或者属性、成员变量、Field。
    2. 如果一个变量,是声明在一个方法上的,就叫做参数
    3. 声明在方法内的变量,叫做局部变量
      其作用域在声明开始的位置,到其所处于的块结束位置
  • final 修饰一个变量,当一个变量被final修饰的时候,该变量只有一次赋值的机会

JAVA 基础 / 数组

  • JAVA 基础 / 数组 / 数组系列教材 (一):数组是一个固定长度的,包含了相同类型数据的 容器

    1. System.arraycopy(src, srcPos, dest, destPos, length)复制数组。与使用System.arraycopy进行数组复制类似的, Arrays提供了一个copyOfRange方法进行数组复制。
      不同的是System.arraycopy,需要事先准备好目标数组,并分配长度。 copyOfRange 只需要源数组就就可以了,通过返回值,就能够得到目标数组了。
    	 // copyOfRange(int[] original, int from, int to)
        // 第一个参数表示源数组
        // 第二个参数表示开始位置(取得到)
        // 第三个参数表示结束位置(取不到)
        int[] b = Arrays.copyOfRange(a, 0, 3);
    
    1. 如果要打印一个数组的内容,就需要通过for循环来挨个遍历,逐一打印
      但是Arrays提供了一个toString()方法,直接把一个数组,转换为字符串,这样方便观察数组的内容。
    int a[] = new int[] { 18, 62, 68, 82, 65, 9 };
            String content = Arrays.toString(a);
    
     //使用binarySearch之前,必须先使用sort进行排序
            System.out.println("数字 62出现的位置:"+Arrays.binarySearch(a, 62));
    
    1. 比较两个数组的内容是否一样。第二个数组的最后一个元素是8,和第一个数组不一样,所以比较结果是false
    import java.util.Arrays;
     
    public class HelloWorld {
        public static void main(String[] args) {
            int a[] = new int[] { 18, 62, 68, 82, 65, 9 };
            int b[] = new int[] { 18, 62, 68, 82, 65, 8 };
     
            System.out.println(Arrays.equals(a, b));
        }
    }
    
    1. 填充
     Arrays.fill(a, 5);
    

JAVA 基础 / 类和对象

  1. 引用的概念,如果一个变量的类型是 类类型,而非基本类型,那么该变量又叫做引用
  2. 一旦提供了一个有参的构造方法
    同时又没有显式的提供一个无参的构造方法
    那么默认的无参的构造方法,就“木有了“。因此需要手动添加。
  3. this关键字:
public class Hero {
	
	String name; //姓名
	
	float hp; //血量
	
	float armor; //护甲
	
	int moveSpeed; //移动速度

	//打印内存中的虚拟地址
	public void showAddressInMemory(){
		System.out.println("打印this看到的虚拟地址:"+this);
	}
	
	public static void main(String[] args) {
		Hero garen =  new Hero();
		garen.name = "盖伦";
		//直接打印对象,会显示该对象在内存中的虚拟地址
		//格式:Hero@c17164 c17164即虚拟地址,每次执行,得到的地址不一定一样

		System.out.println("打印对象看到的虚拟地址:"+garen);
		//调用showAddressInMemory,打印该对象的this,显示相同的虚拟地址
		garen.showAddressInMemory();
		
        Hero teemo =  new Hero();
        teemo.name = "提莫";
        System.out.println("打印对象看到的虚拟地址:"+teemo);
		teemo.showAddressInMemory();
	}	
	
}

如果要在一个构造方法中,调用另一个构造方法,可以使用this()

//带一个参数的构造方法
    public Hero(String name){
        System.out.println("一个参数的构造方法");
        this.name = name;
    }
      
    //带两个参数的构造方法
    public Hero(String name,float hp){
        this(name);
        System.out.println("两个参数的构造方法");
        this.hp = hp;
    }
  1. 访问限制:
    • 属性通常使用private封装起来
    • 方法一般使用public用于被调用
    • 会被子类继承的方法,通常使用protected

JAVA 基础 / 接口与继承

  • final修饰类,方法,基本类型变量,引用的时候分别有不同的意思。
    1. 当类被修饰成final的时候,表示类不能够被继承
      其子类会出现编译错误
    2. Hero的useItem方法被修饰成final,那么该方法在ADHero中,不能够被重写
    3. final修饰基本类型变量,表示该变量只有一次赋值机会
      16行进行了赋值,17行就不可以再进行赋值
    4. final修饰引用
      h引用被修饰成final,表示该引用只有1次指向对象的机会
      所以17行会出现编译错误
      但是,依然通过h引用修改对象的属性值hp,因为hp并没有final修饰
  • 注:String 类是final修饰的,不能被继承
  • 0
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知之之

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值