Java
sgentle
这个作者很懒,什么都没留下…
展开
-
M1下java项目有关Sqlite报错No native library is found解决
背景更换了M1芯片的macbook之后,将原来win上的java项目搬过来运行报错Exception: No native library is found for os.name=Mac and os.arch=aarch64原因项目中使用的老版本sqlite不支持arm架构解决方案在网上搜索的方案提及用新的sqlitejar包替换idea文件夹下Contents中的jar包,但在我这里并没有效果,后来尝试将pom中sqlite的版本设置为最新版本后完美运行...原创 2022-04-06 14:34:40 · 7309 阅读 · 0 评论 -
2020-12-05
最终、不可改变的用法:权限修饰符1 Public Protected Default Private同一个类 √ √ √ √同一个包 √ √ √ ×不同包子类 √ √ ×原创 2020-12-05 19:02:27 · 40 阅读 · 0 评论 -
Java 多态相关
父类引用指向子类对象格式: 左父右子父类名称 对象名=new 子类名称();接口名称 对象名=new 实现类名称();左侧父类的引用,右侧子类的对象子类对象被当作父类进行使用成员方法:编译看左,运行看右(看该方法属于谁,优先用谁,没有就向上找)成员变量:编译看左,运行看左(看等号左边是谁,优先用谁,没有就向上找)好处:无论右边new的时候换成了哪个子对象,等号左边调用方法都不会变化向上转型:向上转型一定是安全的,从小范围转换到大范围弊端 对象一旦向上转型为父类,那么就无法调用子类特有的原创 2020-12-05 19:00:24 · 57 阅读 · 0 评论 -
Java 接口相关
接口就是一种公共的规范标准ps:接口当中的抽象方法,修饰符必须是两个固定的关键字Public abstract接口不能直接使用,必须有一个 实现类 来实现该接口接口的实现类必须覆盖重写接口中的所有抽象方法如果实现类并没有覆盖重写接口中所有的抽象方法,那么这个实现类自己就必须是抽象类Java8 之后,接口中允许定义默认方法:Public default 返回值类型 方法名称(){方法体}接口中默认方法的作用:解决接口升级的问题接口中的静态方法:不能通过接口实现类的对象来电泳接口当中的静原创 2020-12-05 18:59:52 · 50 阅读 · 0 评论 -
Java 抽象方法相关
如何使用抽象类和抽象方法:1.不能直接创建new抽象类对象2.必须用一个子类来继承抽象父类3.子类必须覆盖重写父类中所有的抽象方法4.创建子类对象进行使用ps:抽象类可以有构造方法,是供子类创建对象时,初始化父类成员使用的抽象类并不一定有抽象方法,有抽象方法的类是抽象类抽象类的子类必须重写所有的父类 抽象方法...原创 2020-12-05 18:59:07 · 44 阅读 · 0 评论 -
Java this相关笔记
super关键字用来访问父类内容,this关键字用来访问本类内容this用法:1.在本类的成员方法中,访问本类的成员变量。2.在本类的成员方法中,访问本类的另一个成员方法3.在本类的构造方法中,访问本类的另一个构造方法。ps:super和this两种构造调用不能同时使用...原创 2020-12-05 18:58:32 · 62 阅读 · 0 评论 -
Java 继承相关笔记
继承主要解决的问题:共性抽取直接通过子类对象访问成员变量:等号左边是谁就优先访问谁,没有则向上找间接通过成员方法访问成员变量:该方法属于谁,就优先用谁,没有则向上找在父子类的继承关系当中,创建子类对象,访问成员方法的规则:创建的对象是谁,就优先用谁,如果没有则向上找。ps:无论是成员方法还是成员变量,如果没有都是向上找,绝不会向下找可以用@override来检测是否重写正确子类方法的返回值必须小于等于父类方法的返回值范围子类方法的权限必须大于等于父类方法的权限修饰符父子类构造方法的访原创 2020-12-05 18:57:45 · 77 阅读 · 0 评论 -
Java Static相关笔记
一旦使用了Static关键字,那么这样的内容不再属于对象自己而是属于类的, 所以凡是本类的对象,都共享同一份静态方法不属于对象,而是属于类的如果没有Static关键字。那么必须首先创建对象,然后对象才能够使用它如果有了Static关键字。那么不需要创建对象,直接就能通过类名称来使用它对于静态方法来说,可以通过对象来调用,也可以通过类名称静态变量:类名称.静态变量静态方法:类名称.静态方法()对于本类当中的静态方法可以省略类名称ps:1.静态不能直接访问非静态因为内存当中是先有静态内容,后.原创 2020-12-05 18:56:48 · 51 阅读 · 0 评论 -
Java 笔记
只有java.Lang包下的的内容不用导包,其他都需要import导包System.in 代表从键盘输入ArrayList集合的长度是可以随意变化的泛型只能是引用类型,不能是基本类型对于ArrayList来说,直接打印的不是地址值,而是内容ArrayList的add添加一定成功,对其他集合来说添加不一定成功返回值代表添加是否成功对基本类型来说,==是进行数值的比较对引用类型来说,==是进行地址值的比较双引号直接写的字符在常量池当中,new的不在池当中ArrayList可以动态调整,和数组原创 2020-12-05 18:54:57 · 49 阅读 · 0 评论