2021-04-29

day6
所学的知识:
1.类是什么呢?
类:是一组相关属性行为的集合。可以看成一类事物的模板。
属性:就是事物的信息。
行为:就是该事物能够做什么
2.什么是对象呢?
对象:是一类事物的具体体现,对象是类的一个实例。
3.对象与类的关系:类是对象的模板而对象是类的实例化
4.那么怎样定义类呢
4.1public class ClassName{ //成员变量 //成员方法 public void eat(){这是一个吃饭的方法 sout("") } }
5.如何创建对象呢?
格式:类名 对象名=new 类名();
访问类中的信息:对象名.成员变量 对象名.成员方法。
6.局部变量与成员变量的区别呢?
6.1在类中的位置不同
6.2作用的范围不同:成员变量在类中,局部变量在方法中
6.3初始值不同:成员变量有初始值,但是局部变量没有初始值,必须要定义和赋值。
6.4在内存中的位置不同:成员变量在堆内存,而局部变量在栈内存。
6.5生命周期的不同:成员变量随对象的建立而存在,但是局部变量随着调用方法而存在

封装
1.封装可以保护类中的信息不被外界轻易的访问,它可以提高代码的安全性,更容易被维护和管理。
2.原则:将属性隐藏起来,提供公共方法来访问。
3.歩骤:1.使用private关键词来修饰成员变量2.对需要访问的成员变量和成员方法,要提供对应的一对get方法,set方法。
4.那么private的含义是什么呢?
1.private是一个权限修饰符,代表最小权限。
2. 可以修饰成员变量和成员方法。
3. 被private修饰后的成员变量和成员方法,只在本类中才能访问。
5.它的使用格式:private 数据类型 变量名
6.封装优化1:要用this关键字
7.this使用格式:this.成员变量名
8.封装优化2:修饰符 构造方法名(参数列表){ //方法体

day7
1.API:是程序编程接口
2.Scanner类
2.1什么是.Scanner类呢?一个解析基本类型和字符串的简单文本扫描器。
2.2它的使用格式:

Scanner sc =new Scanner();
int i =sc.nextInt();

2.3匿名对象:没有变量名的的对象(一个匿名对象只能使用一次)
格式:

new 类名(参数列表);

作用:可以作为参数和返回值

//z作为参数
class test{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
//匿名对象作为方法接收的参数
input(new Scanner(System.in))
}
public static void input(Scanner sc){
sout(sc)
}

}
//作为返回值
class Test2{
public static void main(String[] args){
Scanner sc=getScanner();
}
public static Scanner getScanner(){
//普通方式
//Scanner sc = new Scanner(System.in); //return sc; //匿名对象作为方法返回值
return new Scanner(System.in);
}
}

3.Random类
3.1:public Random():创建一个新的随机数生成器,以下的代码会得到一个随机数

Random r=new Random();
int i =r.nextInt();

4.ArrayList类:大小可变的数组
4.1Java.util.ArraList,其中表示一种指定的数据类型,叫泛型。

public ArrayList()://构造一个内容为空的集合。
//基本格式:
ArrayList<String> list=new ArrayList<String>();
//常用的方法
//对于元素的操作,基本体现在--增,查,删。常用的方法有:
public boolean add(E,e)://将指定的元素添加到集合的尾部
public E remove(int index):移除此集合中指定位置上的元素。返回被删的元素。
public E get(int index):返回此集合中指定位置上的元素。返回获取的元素。
public int size():返回此集合中的元素。

4.2ArrayList对象不能存储基本类型,只能存储引用类型的数据。类似 不能写,但是存储基本数据类型对应的 包装类型是可以的。

day8
1.String类:包括用于检查各个字符串的方法,比如用于比较字符串,搜索字符串,提取字符串以及创建具有翻译为大写或小写的所有字符的字符串的副本。
重点:

//分割功能的方法
public String[] split(String regex);

2.static关键字:可以用来修饰成员变量和成员方法,被修饰的成员是属于类的,而不是简简单单属于对象,可以通过类来调用成员方法或成员变量
2.1类变量:当被static修饰成员变量,该变量称为类变量。
定义格式:static 数据 变量;
2.2类方法:使用关键字static修饰的成员方法,习惯称为静态方法。
定义格式:

修饰符 static 返回值类型 方法名(参数列表){}

2.3静态方法调用的注意事项:
1.静态方法可以直接访问类变量和静态方法。
2.静态方法不能直接访问普通成员变量或成员方法。
3.静态方法中,不能使用this关键字
4.静态方法中只能访问静态成员

3.Arrays类(包含所有方法全是静态方法)
3.1操作数组的方法

public static String toString(int[] a)//返回指定数组内容的字符串表示形式
public static void sort(int[] a):对指定的int型数组数字升序进行排序。

4.math类(所有的方法均为静态方法)

day9
1.继承:就是子类继承父类中行为和属性。子类可以直接访问父类中非私有的属性和行为。
1.1好处:提高代码的复用性。类与类之间产生了关系。是多态的前提。
1.2格式:

//通过extends关键字
class 父类{
......
}
class 子类 extends 父类{
......
}

1.3继承的特点:Java只能单继承,不能多继承

2成员变量重名
2.1当父类与子类有成员变量重名时,想要用父类中的成员变量,这就需要用super关键词来修饰父类成员变量。

//使用格式
super.父类成员变量名

3.成员方法重名–重写(Override)
3.1如果子类父类中出现重名的成员方法,这时的访问是一种特殊情况,叫做方法重写 (Override)。
方法重写 :子类中出现与父类一模一样的方法时(返回值类型,方法名和参数列表都相同),会出现覆盖效 果,也称为重写或者复写。声明不变,重新实现。

4.继承后的特点–构造方法
4.1子类想要继承父类的构造方法需要关键词super();

5.super和this两个关键词
1.super:代表父类存储空间标识
2.this:代表当前对象的引用

6.抽象类:包含抽象方法的类
6.1抽象方法:没有方法主体的方法称为抽象类

6.2抽象方法格式(abstract使用格式)

修饰符 abstract 返回值类型 方法名 (参数列表);
//代码举例
public abstract void cat();

6.3抽象的使用
1.继承抽象的子类必须重写父类所有的抽象方法。否则该子类也必须声明为抽象类。

day10
1.接口:是一种引用数据类型(不是类),不能创建对象但可以被实现、是方法的集合。
1.2定义格式:

public interface 接口名{
	//抽象方法
	public abstract void method();
	//默认方法
	public default void method(){//执行语句}
	//私有方法
	private  void method(){//执行语句}
	//静态方法
	private static void method(){//执行语句}
}

1.3基本实现
类与接口的关系,即类实现接口,也叫接口的子类。用(implements实现)
非抽象子类实现接口需要重写接口中所有抽象方法,但默认方法也可以直接调用,也可以重写。
实现格式:

class 类名 implements 接口名{}

1.4接口的多实现:一个类可以实现多个接口
一个类能继承一个父类,同时实现多个接口。

class 类名 [extends 父类名]implements 接口名1,接口名2....

注意优先级的问题
当一个类,即继承一个父类,又实现多个接口,父类中的成员方法与接口中的默认方法重名,子类就近选择执 行父类的成员方法

1.一个接口可以实现多个接口(要用extends关键字),子接口继承父接口的方法,如果父接口中的默认方法有重名的,那么子接口需要重写一次。
1.5其他成员特点
1.接口中没有静态代码块
2.接口中不能创建对象,没有构造方法
3.接口中,无法定义成员变量,但是可以定义常量,不可改变其值,默认使用public static final修饰

1.多态:同一行为,通过不同的事物,可以体现出来不同的形态。
1.2实现多态的前提:
一:继承或实现(二选一)
二:方法的重写(意义体现:不重写,无意义)
三:父类引用指向子类对象[格式体现]
1.3多态的体现

父类类型 对象名=new 子类类型;
对象名.方法名();

1.4多态的好处:可以使编程编写的更简单。并有良好的扩展。

1.5多态转型分为两种:1.向上转型。2.向下转型
向下转型:父类指向一个子类对象

父类类型 对象名=new 子类类型();

向上转型::父类类型向子类类型向下转换的过程,这个过程是强制的

//这是可以调用子类中特有的方法
子类类型 对象=new (子类类型)父类变量名;
Cat c=new(Cat)a;

day11
一.final关键字(不可改变,可以用于修饰类,方法和变量)
类:被修饰的类,不能被继承。
方法:被修饰的方法,不能被重写。
变量:被修饰的变量,不能被重新赋值。

//格式
//修饰类
final class 类名{}
//修饰方法
修饰符 final 返回值类型 方法名(参数列表){
//方法体
//修饰变量
final 数据类型 变量名:
}

二:权限修饰符
public:公共的
protected:受保护的
default:默认的
private:私有的

编写代码时,如果没有特殊的考虑,建议这样使用权限:
成员变量使用 private ,隐藏细节。
构造方法使用 public ,方便创建对象。
成员方法使用 public ,方便调用方法。

三:内部类:就是在类中再定义一个类

class 外部类{
	class 内部类{
	}
}

成员内部类:定义在类中方法外的类

访问特点
1.内部类可以直接访问外部类的成员,包括私有成员
2.外部类要访问内部类的成员,必须要建立内部类的对象。

//创建内部类对象格式
外部类名.内部类名.对象名=new 外部类型().new内部类型();

四:匿名内部类:是内部类的简化写法。本质是一个带具体实现的父类或者父接口的匿名子类对象。
1.使用的前提是匿名内部类必须继承一个父类或者实现一个父接口。

new 父类名或者接口名(){
//方法重写
@Override
public void method(){
//执行语句
}
}
//使用方式

五:引用类型用法总结:
1.class 作为成员变量
2.interface作为成员变量
3.interface作为方法参数和返回值类型
当接口作为方法的参数时,需要传递什么呢?当接口作为方法的返回值类型时,需要返回什么呢?对,其实都是它的 子类对象。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值