Java笔记(3)_黑马刘意_Java入门_2019_idea版

字符串

API(Application Programming Interface):应用程序编程接口。
Java API:指的就是JDK中提供的各种功能的Java类。这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,可以通过帮助文档来学习这些API如何使用。

获取键盘录入字符串数据:
import java. util. Scanner;
Scanner sc = new Scanner(System. in);
String line = sc. nextLine();

String:
java. lang包下,使用时不需要导包。
String类代表字符串,Java程序中所有的双引号字符串,都是String类的对象。
特点:
1)字符串不可变,它们的值在创建后不能被更改。
2)虽然String的值是不可变的,但它们可以被共享。
3)字符串效果上相当于字符数组(char[]),但是底层原理是字节数组(byte[])。

String构造方法:
在这里插入图片描述

String对象的特点:
1)通过new创建的字符串对象,每一次new都会申请一个内存空间,虽然内容相同,但是地址值不同。
2)以""方式给出的字符串,只要字符序列相同(顺序和大小写),无论在程序代码中出现几次,JVM都只会建立一个String对象,并在字符串池中维护。

字符串的比较:
字符串是对象,它比较内容是否相同,是通过equals()方法来实现的。
public boolean equals(Object anObject):将此字符串与指定对象进行比较。由于比较的是字符串对象,所以参数直接传递一个字符串。
返回指定索引处的char值:
public char charAt(int index):返回指定索引处char值,字符串的索引也是从0开始的。
在这里插入图片描述

StringBuilder:
StringBuilder是一个可变的字符串类,我们可以把它看成是一个容器,这里的可变指的是StringBuilder对象中的内容是可变的。

String和StringBuilder区别:String内容是不可变的,StringBuilder内容是可变。

StringBuilder构造方法:
在这里插入图片描述
StringBuilder方法:
在这里插入图片描述

StringBuilder和String相互转换:
1)StringBuilder转换为String:
public String toString():通过toString()就可以实现把StringBuilder转换为String。
2)String转换为StringBuilder:
public StringBuilder (String s):通过构造方法就可以实现把String转换为StringBuilder。

集合基础

集合类的特点:提供一种存储空间可变的存储类型,存储的数据容量可以发生改变。

import java. util. ArrayList;

ArrayList:
1)可调整大小的数组实现。
2):是一种特殊的数据类型,泛型。
在出现 E 的地方我们使用引用数据类型替换即可。

ArrayList构造方法和添加方法:
在这里插入图片描述
ArrayList常用方法:
在这里插入图片描述

继承

继承概述:继承是面向对象三大特征之一,可以使得子类具有父类的属性和方法,还可以在子类中重新定义,追加属性和方法。

继承格式:public class 子类名 extends 父类名{}

父类也被称为基类、超类,子类也被称为派生类。

继承的好处和弊端:
好处:
1)提高了代码的复用性(多个类相同的成员可以放到同一个类中)。
2)提高了代码的维护性(如果方法的代码需要修改,修改一处即可)。
弊端:
继承让类与类之间产生了关系,类的耦合性增强了,当父类发生变化时子类实现也不得不跟着变化,削弱了子类的独立性。

什么时候使用继承:
继承体现的关系:is a
假设法:我有两个类A和B,如果他们满足A是B的一种,或者B是A的一种,就说明他们存在继承关系,这个时候就可以考虑使用继承来体现,否则就不能滥用继承。

继承中变量的访问特点:
在子类方法中访问一个变量,
子类局部范围找,
子类成员范围找,
父类成员范围找,
如果都没有就报错(不考虑父亲的父亲)。

super:
super关键字的用法和this关键字的用法相似。
this:代表本类对象的引用。
super:代表父类存储空间的标识(可以理解为父类对象引用)。
在这里插入图片描述

继承中构造方法的访问特点:
子类中所有的构造方法默认都会访问父类中无参的构造方法。
因为子类会继承父类中的数据,可能还会使用父类的数据。所以,子类初始化之前,一定要先完成父类数据的初始化。每一个子类构造方法的第一条语句默认都是:super()。
如果父类中没有无参构造方法,只有带参构造方法,该什么做:
1)通过使用super关键字去显示调用父类的带参构造方法。
2)在父类中自己提供一个无参构造方法。(推荐)

继承中成员方法的访问特点:
通过子类对象访问一个方法,
子类成员范围找,
父类成员范围找,
如果都没有就报错(不考虑父亲的父亲)。

方法重写:
方法重写概述:子类中出现了和父类中一模一样的方法声明。
方法重写的应用:当子类需要父类的功能,而功能主体子类有自己特有内容时,可以重写父类中的方法,这样既沿袭了父类的功能,又定义了子类特有内容。
@Override:
1)是一个注解。
2)帮助我们检查重写方法的方法声明的正确性。
方法重写的注意事项:
1)私有方法不能被重写(父类私有成员子类是不能继承的)。
2)子类方法访问权限不能更低(public > 默认 > 私有)。

继承的注意事项:
1)Java中类只支持单继承,不支持多继承。
2)Java中类支持多层继承。

修饰符

包:
包其实就是文件夹,它的作用是对类进行分类管理。
包的定义格式:package 包名;(多级包用.分开)
带包的Java类编译和执行:
1)手动建包:按照以前的格式编译Java文件,手动创建包,把class文件放到包的最里面,带包执行。
2)自动建包:
java -d . HelloWorld . java
java com . itheima . HelloWorld

导包:
使用不同包下的类时,使用的时候要写类的全路径,为了简化带包的操作,Java就提供了导包的功能。
导包格式:import 包名;

权限修饰符:
在这里插入图片描述

状态修饰符:final,static。
final:
final关键字是最终的意思,可以修饰成员方法,成员变量,类。
final修饰的特点:
1)修饰方法:表明该方法是最终方法,不能被重写。
2)修饰变量:表明该变量是常量,不能再次被赋值。
3)修饰类:表明该类是最终类,不能被继承。
final修饰局部变量:
1)变量是基本类型:final修饰指的是基本类型的数据值不能发生改变。
2)变量是引用类型:final修饰指的是引用类型的地址值不能发生改变,但是地址里面的内容是可以发生改变的。

static:
static关键字是静态的意思,可以修饰成员方法,成员变量。
static修饰的特点:
1)被类的所有对象共享。这也是我们判断是否使用静态关键字的条件。
2)可以通过类名调用(推荐),也可以通过对象名调用。
static访问特点:
1)非静态的成员方法:
能访问静态的成员变量。
能访问非静态的成员变量。
能访问静态的成员方法。
能访问非静态的成员方法。
2)静态的成员方法:
能访问静态的成员变量。
能访问静态的成员方法。
总结:静态的成员方法只能访问静态成员。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值