第四周学习感悟

学习小结

一周的时间过的太快了,还没有学习多少内容就又得写博客了,在这一周的学习当中我能明显感觉到学习的知识越来越深,以至于有的视频我都没有明白讲的是什么就不了了之,而且要记忆的东西也很多,总是让我觉得没有一点收获一样,总之这一周我觉得从我的态度上学到的东西确实不多,因为太多记忆的东西我都没去记忆,去练习,有些模糊的东西也没有去二刷视频,所以今天我在此总结一下学习过的内容

上周测试错题

  1. 数据类型和对应字节大小,以及他们的封装类

整形 :
byte : 1 字节 Byte
shout : 2 字节 Shout
int : 4 字节 integer
long : 8 字节 Float
浮点型:
float : 4 字节 Float
double : 8 字节 Double
字符类型:
char : 2 字节 Character
布尔类型:
boolaen : Boolean(单独:4字节 在数组中:1字节)

  1. 在字符串中提取字符
    charAt方法
String str = "HelloWorld";
char result = str.charAt(6);
System.out.println(result);
//得到的结果为W
  1. 传递基本数据类型时,传递的是真实的数据,形参的改变不影响实际参数的值
int number = 100;
System.out.println("调用方法前" + number);
change(number);
System.out.println("调用方法后" + number);
public static void change(int number){
	number = 200;
}

在这里插入图片描述

  1. 字符串的比较
    (1). 不忽略大小写
boolean equals (要比较的字符串)

(2)忽略大小写

boolean equals lgnoreCase(要比较的字符串)

注:字符串的储存原理是储存地址值

字符串的学习

  1. StringBuilder的用法
//添加数组,并返回对象
sb.append(内容);
//反转容器中的内容
sb.reverse();
//返回长度
int len = sb.length();
//把StringBuilder转化为String
String str = sb.toString();
//截取字符串
sb.subString( , )
  1. 如何使用帮助文档

1.打开帮助文档
2.点击显示,并找到索引下面的输入
3.在输入框中输入类名并点击显示
4.查看类所在的包
5.查看类的描述
6.查看构造方法
7.查看成员方法

  1. 等号比的是什么
    基本数据类型比的是数据值,引用数据类型比的是地址值

  2. 权限修饰符
    从大到小:private<空着不写<protected<public

ArrayList的学习

面向对象三大特征之一(多态)
1.什么是多态? 同类型对象,表现出的不同形态
2.多态的表现形式 父类对象 对象名称 = 子类对象 ;
3.多态的前提
有继承关系
有父类引用指向子类对象
有方法的重写
4.多态的好处?
使用父类型作为参数,可以接收所有子类对象,体现多态的扩展性与便利
Fu f = new Zi ();
5.调用成员变量或方法的特点
调用成员变量的特点:编译看左边,运行也看左边
调用成员方法的特点:编译看左边,运行看右边
5.多态的弊端
不能使用子类的特有功能

Person p = new Student();
Student s = (Student);  

6.强制转换
转换时用instanceof关键词进行判断
if(a instanceof Dog d)(instanceof)a的类型与狗比较,如果不是强转成狗这一类

面向对象进阶

1.什么是包
包就是文件夹,用来管理不同功能的Java类方便后期代码维护
包的命名规则:公司域名反写 + 包的作用,需要全部英文小写 ,见名知意.
例如:com.itheima.damain
2.什么是全类名?
包名 + 类名
3.什么时候需要导包,什么时候不需要导包?

使用同一个包中的类时,不需要导包
使用java.lang包中的类时,不需要导包
其他情况都需要导包
如果同时使用两个包中的同类名,需要用全类名

final

1.final修饰的方法:最终方法,不能被重写
2.final修饰类:最终类,不能被继承
3.final修饰变量:是常量,不能被修改
基本数据类型:变量的值不能改变,引用数据类型:地址值不能改变,内部属性值可以修改

静态代码块

格式:static{}
特点:需要通过static关键字修饰,随着类的加载而加载,并自动触发一次,只执行一次
使用场景:在类加载的时候,做一些数据初始化的时候使用

抽象

在这里插入图片描述
抽象类和抽象方法的定义格式
抽象方法的定义格式:
public abstract 返回值类型 方法名 (参数列表)
抽象类的定义格式:
public abstract class 类名 {}

抽象类不能实例化(不能创建对象)
抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类
可以构造方法
抽象类的子类:要么重写抽象类中的所有抽象方法,要么是抽象类

接口

接口用关键字interface来定义
public interface 接口名{}
接口不能实例化
接口与类之间是实现关系,通过implements关键词表示
public class 类名 implements 接口名{}
接口的子类(实现类):要么重写接口中的所有抽象方法,要么是抽象类
注意:接口与类的实现关系,可以单实现,也可以多实现
public class 类名 implements 接口1,接口2{}1

内部类

1.什么是内部类?
写在一个类里面的类就叫内部类
public class Outer{外部类
public class Inter {内部类
2.什么时候用到内部类?
在这里插入图片描述
内部类表示的事物是外部类的一部分,内部类单独出现没有任何意义

内部类可以直接访问外部类的成员,包括私有
外部类要访问内部类的成员,必须创建对象

静态内部类

用static修饰的类public static void main(String[] args)
静态内部类只能访问外部类中的静态变量和静态方法
如果想要访问非静态的需要创建外部类对象
创建静态内部类对象的格式 外部名.内部名 对象名 = new 外部名.内部类名();
调用静态方法的格式 外部类名.内部类名.方法名()

匿名内部类

本质上就是隐藏了名字的内部类
new 类名或者接口名(){重写的方法}

接口与类的关系

在这里插入图片描述

API

Math

Math的常用方法

public ctatic int abs(int a) 获取参数绝对值
public ctatic int ceil(double a) ` 向上取整
public ctatic int floor(double a) 向下取整
public ctatic int round(float a) 四舍五入
public ctatic int max(int a,int b) 获取两个int值中的较大值
public ctatic int pow(double a ,double b) 返回a的b次幂的值
public ctatic int random() 返回值为double的随机值,范围[0.0,1.0)
sqrt :开平方根 cbrt:开立方根 min;获取最小值

###Runtime
Runtime的常用方法
在这里插入图片描述

exit : 停止虚拟机
currentTimeMillis:获取当前时间的毫秒值
arraycopy:拷贝数组
在这里插入图片描述
shoutdown: 关机(加上参数才能执行)
-s : 默认1分钟之后关机
-s -t 指定时间: 指定关机时间
-a : 取消关机操作
-r:关机并重启
Runtime.getRuntime().exec("notepad");
Runtime.getRuntime().exec("shoutdown -a");

Object

equals(对象1,对象2):先做非空判断,比较两个对象
isNull(对象):判断对象是否为空
nonNull(对象):判断对象是否不是空

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值