2021-03-13

  1. 三大思想

    OOA:面向对象分析
    OOD:面向对象设计
    OOP:面向对象程序
    
  2. 三大特征

    封装性:内容对外部不可见
    继承性:继承其他功能继续发展
    多态性:方法重载本身就是一个多态性的体现
    
  3. 类与对象

    类:共性产物,综合特征
    	由方法和属性组成
    		属性:一个个特征
    		方法:一个个行为
    	定义格式:一个.java文件只能有一个public修饰的类,文件名称必须与public修饰的类名完全一致
    		class 类名称{
    			属性
    			int age;
    			方法
    			返回值类型 方法名称(参数列表){
    				方法体;
    				return 返回值;
    			}
    			调用格式:对象名.方法名(参数列表)
    		}
    对象:个性产物,个体特征
    	类名 对象名 = new 类名();
    	内存细节
    		栈:一个线程一个栈区,每个栈内元素都是私有的,不能被其他线程访问,后进先出
    		堆:存放类的对象
    		方法区:
    			构造方法
    创建对象的方法
    作用:对象初始化,创建对象时,自动执行
    定义格式:方法名称与类名一致,没有返回值类型声明
    重载
    	和方法重载一致
    设计规范
    	自定义无参构造方法
    	两个构造方法:无参,全属性参数
    	成员变量都是常量或者没有成员变量时,不提供构造方法
    
  4. 方法重载

    一个类中定义的的方法方法名称相同
    参数列表长度、类型、顺序不同
    与返回值无关
    
  5. 匿名对象

    没有引用名,只能使用一次
    
  6. 编程规范

    命名风格
    	不能以_或$开头
    	严禁拼音与英文混合
    	类名大驼峰
    	方法名、参数名、局部变量小驼峰
    	常量全部大写,_分割
    代码格式
    	大括号内没有内容不换行
    	小括号内不加空格
    	if\while\switch\do保留空格
    	二目三目运算符保留空格
    	四个空格缩进
    
  7. 封装

    保护代码不被外部损坏,所有属性建议封装
    定义格式:private 类内部调用,外部无法使用,通过setAge()设置值,getAge()获取值
    
  8. this:

    将属性赋值给当前调用对象
    调用类中方法或构造方法
    表示当前对象
    
  9. static:

    静态属性,静态方法,存储于方法区中
    不依赖于对象的创建,随着类的加载而访问
    属于类本身的属性,通过类定义
    静态不能访问非静态,非静态可以访问静态
    
  10. 包:

    同一个包内存放功能相似或相关的类
    限定了访问权限,拥有包的访问权限才能导入
    package 包名:描述文件所在的包
    包的定义
    多个单词,字母小写,通过.分割
    导入:import/类的全名称
    java.lang内不需要导入、同一个包内也不需要导入

  11. 权限修饰符:

    在这里插入图片描述

  12. 代码块

普通代码块:执行流程中出现的代码块
构造代码块:类中的成员代码块,对象创建时执行
静态代码块:static+构造代码块,随着类的加载而执行,只执行一次
同步代码块
	
执行顺序:
		静态代码块-构造代码块-构造方法
  1. main方法:程序入口
String args[]接收命令行参数
  1. 继承
class 子类 extends 父类 {}
只有单继承
内存分析
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210313204052146.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjkzNTI4Nw==,size_16,color_FFFFFF,t_70)

	super
	访问父类构造方法,放在第一行
	访问父类属性
	访问父类方法
	不能同时调用super和this
  1. 重写
参数列表必须完全相同;
返回类型相同;
访问权限不能比父类方法访问权限低
父类成员方法只能被子类重写
static private 不能被重写,能再次被声明
	
重写重载区别
		![在这里插入图片描述](https://img-blog.csdnimg.cn/20210313204103456.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjkzNTI4Nw==,size_16,color_FFFFFF,t_70)
  1. final关键字
修饰属性变量,修饰之后不能再被改变
局部变量未赋值时,只能被赋值一次
成员属性必须赋值
全局常量 public static final
修饰的类,不能被继承
修饰的方法,不能被子类重写
  1. 抽象类
abstract class 类名{
		//抽象方法
		public abstract void 方法名();只声明未实现
	}
	@override确认是否为重写方法
	抽象类不能被实例化,必须被子类继承,子类必须重写抽象类中的抽象方法
	抽象类不能使用final声明
	抽象类能有构造方法
	必须使用public protected修饰
  1. 接口
一个类中的所有方法都是抽象方法,全部属性都是全局常量,就可以将其定义为一个接口
	interfce 接口名称{
		全局常量;
		String INFO = "";
		抽象方法;
		void print();
	}
	实现
		class 子类 implements 父接口1,父接口n{}
	接口继承
		interface C extends A,B{}
	接口思想编程:接口是定义与实现的分离
		降低程序耦合
		易于拓展
		利于程序维护
	接口与抽象类的区别
	
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210313204154679.png)
  1. 多态:对象的多种表现形式
体现:
		对象多态性
		方法重载与重写
	使用
		向上转型
		父类 父类对象 = 子类实例
		向下转型
		子类 子类对象 = (子类)父类实例;
	instanceof:判断是否为某一类
		实例化对象 instanceof 类
object:所有类的父类
	可以接受任何引用数据类型
类的源码:ctrl+点击
toString(): 建议子类重写此方法
p1 == p2;引用的内存地址是否相等
equals(): 两个对象是否相等
	五个特性:
		自反性
		对称性
		传递性
		一致性
		非空性
  1. 内部类:可以将一个类定义在另一个内部类或方法里面
成员内部类
		一个类里面定义类,无条件访问外部类所有属性和方法
		创建
			Outer.Inner i = o.new Inner();
			外部类.this.成员变量
局部内部类
		一个方法或作用域内定义类,只能在方法内部调用,不能有public\protected\private\static修饰
匿名内部类
		new 父类构造器(参数列表) |接口{}
		继承一个接口或者类
		只能访问final型局部变量:内部类单独编译
静态内部类
		static 修饰类
		可通过外部类.静态内部类()直接调用
		静态内部类不能使用非静态变量或方法
  1. 包装类:存储在堆中
Integer.parseInt("100")
装箱/自动装箱:基本数据类型转换为包装类
拆箱/自动拆箱:包装类转换为 基本数据类型
字符串转换
	parseInt()
	parseFloat()
	parseBoolean()

22.可变参数

		int… nums:可变参数,可传递0-n个数字
		方法内部以数组体现
		只能出现在参数列表最后面
  1. 递归
方法内部调用方法本身
阶乘
		![在这里插入图片描述](https://img-blog.csdnimg.cn/20210313204311115.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjkzNTI4Nw==,size_16,color_FFFFFF,t_70)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值