JavaSE笔记

JavaSE学习笔记

修饰符

  • public :公开的,任意地方均可见
  • protected : 受保护的, 同包和子类可见
  • 缺省 :同包可见
  • private : 私有的,仅所在类可见

数据类型

概念:java属于强类型语言,类比js属于弱类型语言
1.八大数据类型:
	数值类型:
		1.1>数值类型:
				整数类型:byte short int long
				浮点类型:float double
				字符类型: char
		1.2>布尔类型:
				boolean
2.引用数据类型:
	类:对象的抽象,由属性和方法构成
	接口:提供一套标准,只允许抽象方法,且默认为抽象方法
	数组:顺序表,可以随机存取

需要注意的问题:

   public static void main(String[] args) {
        //整数拓展:二进制0b 十进制 八进制0 十六进制0x
//        int i=10;//十进制
//        int i1=010;//八进制
//        int i2=0b10;//二进制
//        int i3=0x10;//十六进制

        //========================================
        //浮点数拓展
        float f = 0.1f;//0.1
        double d = 1.0/10;//0.1
        System.out.println(f==d);//false

        float d1=798179571080580180f;
        float d2=d1+1;
        System.out.println(d1==d2);//true存在舍入误差,因此银行业务使用大整数类型

    }

变量作用域

变量:
        类变量:加上static关键字,通过类名引用,所有对象共享
        实例变量:在类里面方法外面,通过对象引用,不同对象不同
        局部变量:方法中,必须声明和初始化

类型转换

public class TypeTransfer {
    public static void main(String[] args) {
        //低---------------------高
        //byte,short,char->int->long->float->double
        int i=128;
        //byte b=i;//不能自动向下转换,需强制转换
        byte b = (byte) i;//出现内存溢出

        //强制转换 (类型)变量名 高->低 或出现内存溢出,精度问题
        //自动转换 低->高
    }
}

面向对象

面向对象:
        类的加载顺序:静态代码块>匿名代码块>构造方法
        本质:以类的方式组织代码,以对象的方式封装数据
        三大特性:
            封装:高内聚,低耦合 属性私有化,对外提供get/set方法
                提高程序的安全性,保护数据
                隐藏代码的实现细节
                统一接口
            继承:对类进行抽象,只允许单继承 子类与父类是 is a的关系
                子类可以继承父类所有的public方法
                私有的东西无法被继承
                所有类都默认继承object类

                super:父类的引用,类比于this
                    默认先调用父类的构造器super(),也只能先调用
                    super必须出现在子类的方法或者构造方法中
                    superthis不能同时调用
            多态:父类引用指向子类对象
                 只能执行引用变量类型中存在的方法,优先执行被子类重写的

            重写:需要有继承关系针对于方法,子类重写父类
                静态方法:父类与子类调用重写方法结果不一样
                        static属于类成员
                非静态方法:父类与子类调用重写方法结果一样
                          非静态方法属于对象成员
            抽象类:
                可以有抽象方法和非抽象方法
            接口:
                支持多实现
                只允许定义抽象方法且默认为抽象方法

对象内存分配

在这里插入图片描述

异常

自定义异常

1.使用try/catch捕获可能发生的异常的方法
	try {
	            demo01.test(11);//检测可能出现异常的方法
	        } catch (MyException e) {//捕获方法向外抛出的异常
	            e.display();//打印自定义异常信息
	        }
2.定义异常的产生条件
	//可能存在异常的方法 要在方法上加throws
    public static void test(int a) throws MyException {
        if(a>10){
            throw new MyException();//向上抛出自定义异常
        }
    }
3.自定义异常的处理
	//自定义异常,需要继承异常类
	class MyException extends Exception{
	    //打印异常信息
	    public static void display(){
	        System.out.println("myexception");
	    }
	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值