一、java数组
1) 声明形式:
type[] arrayName; 推荐方式
type arrayName[];
2) 初始化: 方式一: type[] arrayName; arrayName = new type[] {element1, element2, element3, ...} 方式二: type[] arrayName = {element1, element2, element3, ...} 方式三:报错 type[] arrayName; arrayName = {element1, element2, element3, ...} 方式四: type[] arrayName = new type[length]; 说明: 方式四中,系统为数组元素分配初始值,如byte,int long - > 0, float,double -> 0.0, boolean -> false, 引用类型 -> null。 不要在进行数组初始化时,即指定数组长度,有为每个元素分配初始值。 数组长度是数组的属性,arrayName.length,即可访问。 foreach循环方法: for ( type var : array | collection ) { ... } 注:这种方法中var只是原集合中的一个副本,对var进行修改,不会改变原集合的内容。 3) 多维数组 type[][] arrName = new type[length][]; // 可以仅指定高维 type[][] arrName = new type[length2][length3]; String[][] str1 = new String[][] {new String[3], new String[] {"hello"}} // 可见低维长度可以不等 4) 操作数组工具类Arrays binarySearch, copyOf, sort, toString等 (补充用例)
二、面向对象上
1. java参数传递仅有值传递一种方式
2. 形参长度可变的方法: void test(int a, String... books){ for(String t : books){...} } test(5, "book1", "book2") 变长形参被作为数组参数 3. override v.s. overload override: 子类重写父类方法,签名一致 overload: 同一个类中,同名不同参的方法(返回值不能作为区分) https://www.runoob.com/java/java-override-overload.html 4. 成员(属性、方法)访问权限 default:同一个包中任意类访问】 protected: 同一个包中任意类访问 或 其他包中子类访问 5. 成员初始化顺序 因素:静态成员/初始化块、普通成员/初始化块、构造函数、父类子类、分配对象(容易被忽略) https://www.zhihu.com/question/49196023 http://jm.taobao.org/2010/07/21/331/ 需注意的是:为对象分配内存,而后会初始化为默认值(int->0, boolean->false, ref -> null...) 6. 调用父类构造器 super显示调用父类构造器时,必须放在子类构造器的第一行(this也有这个要求)。 如果子类构造器中调用this(...),即其他构造器,则会在其他构造器中调用父类构造器。 如果子类中无super 和 this,则会隐式调用无参构造器。
三、面向对象下
1. 基本数据类型包装类
自动装箱拆箱前:
装箱: new WrapperClass(primitive)
拆箱: WrapperInstance.xxxValue()
基本数据类型 -> 字符串:String.valueOf() 字符串 -> 基本数据类型:Integer.parseInt() 2. 类的组成 类包括属性、方法、初始化代码块、构造器、内部类、枚举类等。 静态成员不能访问实例成员。 单例对象多种方法 3. final final修饰变量 无论是类成员属性,还是局部变量,都不能重新赋值。 如果是引用类型,仅能确保引用指向同一对象,对象的内容依然可变。 final修饰方法 不能被override final修饰类 不可有子类 4. abstract 一个类有抽象方法(a. 直接定义了抽象方法; b. 继承了抽象父类的抽象方法未实现;c. 接口的抽象方法未实现?),则必须被标识为抽象类。 不包含抽象方法的类,也可以标识成抽象方法。 抽象类的作用?模板模式意义大于实际意义。 5. interface 接口修饰符可以是public或default 接口里可包含常量、抽象实例方法、内部类/接口、枚举类 (新版本可以有普通函数了),他们都是public访问权限,即使省略 接口里的属性默认采用public static final,接口里的方法默认采用public abstract,接口里的内部类和枚举类默认采用public static。 6. 内部类 是封装的强化,仅在外部类中使用,不会在其他地方使用,那么放到外部类里面。 成员内部类、局部内部类、匿名内部类 7. 枚举类 略
以上是Java数组和面向对象相关知识点概述的详细内容。更多信息请关注PHP中文网其他相关文章!

本文讨论了使用Maven和Gradle进行Java项目管理,构建自动化和依赖性解决方案,以比较其方法和优化策略。

本文使用Maven和Gradle之类的工具讨论了具有适当的版本控制和依赖关系管理的自定义Java库(JAR文件)的创建和使用。

本文讨论了使用咖啡因和Guava缓存在Java中实施多层缓存以提高应用程序性能。它涵盖设置,集成和绩效优势,以及配置和驱逐政策管理最佳PRA

本文讨论了使用JPA进行对象相关映射,并具有高级功能,例如缓存和懒惰加载。它涵盖了设置,实体映射和优化性能的最佳实践,同时突出潜在的陷阱。[159个字符]

Java的类上载涉及使用带有引导,扩展程序和应用程序类负载器的分层系统加载,链接和初始化类。父代授权模型确保首先加载核心类别,从而影响自定义类LOA


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

SublimeText3汉化版
中文版,非常好用

Dreamweaver Mac版
视觉化网页开发工具

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

Atom编辑器mac版下载
最流行的的开源编辑器