200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > Java基础零碎知识点 有这一篇就够了!

Java基础零碎知识点 有这一篇就够了!

时间:2021-04-14 18:23:31

相关推荐

Java基础零碎知识点 有这一篇就够了!

Java零碎知识点整理

Java命名规范数据类型三元运算符Random类switch语句方法重载方法的参数传递ArrayList集合创建基本数据类型对应的引用数据类型创建集合的代码实现ArrayList常用方法 IO数据流两种常用的方法 实现封装的方式this和super关键字重载子类继承、重写、覆盖父类方法时的注意事项接口多态多态的转型 instanceof关键字封装、继承、多态作用总结关于Scanner的java.util.NoSuchElementException异常

Java命名规范

包名:全小写

类名:大驼峰

方法名、类成员变量、局部变量:小驼峰

数据类型

分为基本数据类型(整数、小数、字符、布尔)和引用数据类型(字符串、数组、类、接口)

三元运算符

(条件表达式) ? 表达式1:表达式2条件表达式为ture执行表达式1,false执行表达式2

Tip:如果必须有结果,且只有一个条件,可以用三元运算符替代if语句。

Random类

作用是产生随机数

Random ran = new Random();T i = ran.nextXXX(j);产生0 ~ j-1 之间的任意随机数

switch语句

只接受byte、short、int、char、string的数据类型

方法重载

一个类定义多个名称相同的方法,但是参数的类型或个数必须不同,这就是方法重载

(区别于下方覆盖(重写)知识点,并在下方覆盖处说明)

方法的参数传递

当参数是基本数据类型时,是将改地址的数据传过去了,只是给了一个值,在方法内如何操作与原地址内的原值无关。当参数是引用数据类型时,传递的参数实际上时该参数的地址,所以此时修改数值的话,会修改内存中的原地址的数值。

ArrayList集合创建

基本数据类型对应的引用数据类型

创建集合的代码实现

import java.util.ArrayList;ArrayList<需要创建的引用数据类型> array = new ArrayList<需要创建的引用数据类型>();

ArrayList常用方法

IO数据流

六字真诀:读进来,写出去。

字节流:可以处理任何文件数据。

字符流:只能处理纯文本文件数据。

import java.io.FileWriter //导包public FileWriter(String filename){} //创建文件对象,参数中的字符串就是文件路径的名称。

两种常用的方法

public void writer(String str){} //写数据,参数就是想写入的内容public void close(){} //关闭流

Tip:文件扩展名只能决定用哪一类软件打开文件,而不能决定其内容。

实现封装的方式

private :在当前类中可访问(私有)

default :在当前包内可访问

protected :在当前类和他的派生类中可访问

Tip:private私有,属于成员修饰符,不能修饰局部变量(即方法内部变量)。

并且用private修饰的变量不能被引用类型对象调用修改,由此就有了set、get方法的应用。

this和super关键字

this指向成员变量

super指向父类中的方法或量

重载

指一个类中创建同函数名不同参数的方法

覆盖(重写)是子类将父类中参数相同的同名方法重新定义

如果子类中需要引用原有的父类的方法或量,可以使用super关键字

子类继承、重写、覆盖父类方法时的注意事项

子类不能缩小父类方法的访问权限(必须保证子类权限大于父类权限),子类可以扩大的访问权限

(举个例子:儿子从父亲那儿继承一个东西,不能把那个东西变成自己的,不让自己的父亲再用。那肯定是不合理的嘛。)

一个类只能有一个直接父类,即java中只支持单继承(不能C继承A、B),但java支持多层继承(B继承A,C继承B,如果A、B中有重名变量或方法,用C对象只会调出上一层B中的该变量或方法)

接口

接口中只能定义抽象方法,且有固定格式,方法修饰符固定:

public abstract 返回值类型 方法名(参数列表){}

在接口中public abstract修饰符可以省略不写,但是默认带有该权限

接口中只能定义常量:

public static final 数据类型 变量名 = 值;

同样在接口中public static final修饰符可以省略不写,但是不写不等于没有,它的权限依旧是如此

Tips:

1.static修饰的量可以被类名直接调用

2.接口可以多实现(但是被实现的两个接口中不能有同名抽象方法):

public class C implements A,B{}

3.java支持接口间的多继承

多态

多态是面向对象的重要特性,简单点说:“一个接口,多种实现”,就是同一种事物表现出的多种形态。(构造器没有多态性)

父类类型或接口类型 变量名 = new 子类的对象();即父类引用变量指向子类对象

多态演示样例:

public class Test {public static void main(String[] args) {show(new Cat()); // 以 Cat 对象调用 show 方法show(new Dog()); // 以 Dog 对象调用 show 方法Animal a = new Cat(); // 向上转型a.eat();// 调用的是 Cat 的 eatCat c = (Cat)a; // 向下转型c.work(); // 调用的是 Cat 的 work}public static void show(Animal a){a.eat();// 类型判断if (a instanceof Cat) {// 猫做的事情Cat c = (Cat)a;c.work();} else if (a instanceof Dog) {// 狗做的事情Dog c = (Dog)a;c.work();}}}abstract class Animal {abstract void eat();}class Cat extends Animal {public void eat() {System.out.println("吃鱼");}public void work() {System.out.println("抓老鼠");}}class Dog extends Animal {public void eat() {System.out.println("吃骨头");} public void work() {System.out.println("看家");}}

输出结果:

吃鱼抓老鼠吃骨头看家吃鱼抓老鼠

多态的转型

向上转型(子类提升为父类类型,自动转换):

Person p = new Student;<br>

向下转型(方便多态对象调用子类的特有成员:

Student s = (student)p;

Tips:

1.多态有三个必要条件即前提:

①继承父类或实现接口

②重写

③父类引用指向子类对象

2.构造器没有多态性

3.多态成员的特点:编译时参考父类有没有这个变量或方法,没有则编译失败,当多态成员为对象调用方法时,运行的是父类中的变量值,而方法优先调用子类的重写方法。(即方法运行看右边子类,其他都看左边父类)

instanceof关键字

通过instanceof关键字来判断某个对象是否属于某种数据类型

boolean b = 对象 instanceof 数据类型:

封装、继承、多态作用总结

封装:

把对象的属性与方法实现细节隐藏,仅对外提供一些公共的访问方式

继承:

子类会自动拥有父类所有科技城的属性和方法。

多态:

配合继承与方法重写提高了代码的复用性和扩展性;如果没有方法重写,则多态同样没有意义。

关于Scanner的java.util.NoSuchElementException异常

具体异常报告代码例子

Exception in thread “main” java.util.NoSuchElementExceptionat java.util.Scanner.throwFor(Scanner.java:862)at java.util.Scanner.next(Scanner.java:1485)at java.util.Scanner.nextInt(Scanner.java:2117)at java.util.Scanner.nextInt(Scanner.java:2076)

在这里需要注意:

Scanner的close()方法会关闭全局全部输入流,所以只需要在最后的时候用close()关闭输入流就行了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。