Java从入门到入土01(记录向)

本文面向有一定基础的读者,涵盖了Java中的浮点数类型(float与double)、数字易读性(下划线分隔)、位运算符的使用,包括与(&), 或(|), 异或(^)和取反(~),以及左移(<<)、右移(>>)和无符号右移(>>>)。此外,还介绍了枚举和继承的概念,包括如何创建枚举类和子类,以及在继承中需要注意的构造方法调用和方法覆盖问题。
摘要由CSDN通过智能技术生成


前言
面向非小白,略过基础的面向对象、变量类型、循环结构等。
除非抠一抠细节…
不排除(基本排除)补充

注:学习使用java版本为1.8,其他版本特性不会记录

基础

没办法我也不知道自己会忘掉啥,先放在这

浮点数

浮点数 float 与 double 除了占用内存大小和精度不同,在赋值时float是需要在后面加f的,否则会被转换为double

数字易读性

在长串数字中,是可以加 _ 提高易读性
只要是正常的位置一般不会有问题
eg:
123_456_789 = 123456789
123_45.678f = 12345.678f
0x7_7 = 0x77

位运算

与:& 或:| 异或:^ 取反:~

异或实现数字交换(避免a+b溢出):
a = a ^ b;
b = a ^ b;
a = a ^ b;

左移:<< 右移:>> 无符号右移:>>>
注:有符号右移补位与符号位相同,即 -3 >> = -2

枚举

等我会用了(用到了)再回来补充

继承

两个类,Father和Son

public class Father {
    protected String name;
    public Father(String name){
        this.name = name;
    }
    /*public Father(){
    	this("father");
    }*/

    public void getName(){
        System.out.println("i'm " + name);
    }
}
public class Son extends Father {
    public Son(String name) {
    	//对于构造方法,会显示或隐式的调用父类的构造方法
    	//无参构造方法会隐式调用,有参构造方法则需要显示调用super()
        //无法通过this.name = name; 进行构造
        super(name);
    }

    public void testName(){
        System.out.println(this.name);
    }
}

注:若在父类构造方法中调用被子类覆盖的方法时,会选择使用子类的方法,可能出现错误。

在父子类之间,可以通过声明父类的方式生成子类对象,反之报错

Father father1 = new Father("father1");		//可
Son son1 = new Son("son1");					//可
Father son2 = new Son("son2");				//可
Son father2 = new Father("father2");		//报错

在声明父类后,是无法使用子类的方法的

father1.getName();	//可
son1.getName();		//可
son1.testName();	//可
son2.getName();		//可
 son2.testName();	//报错

未完待续

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值