计划:硅谷86-96完成 昨天忘记发了
但是感觉很空虚,听了又好像没听,总觉得差点什么。
专升本在读三本计科专业。立志找到一份JAVA工作。
记录学习过程;学习时间大概7小时,作为对之前学习的内容一个复习;
----------------------------------------------------------------------------------------------
静态变量:通过类名+静态变量就能访问,不用创建类的实例
常量:是用final关键词修饰的,常量的值一给给定就无法修改;
JAVA native (本地方法)我没学;
JAVA构造方法:
注意点:构造方法不能是抽象的(abstract)、静态的(static)、最终的(final)、同步的。
构造方法没有返回值;构造方法名字和类名要一直;
构造器:列 Person p = new Person()
每个类都有构造器
构造器的作用:搭配new关键词 创建类的对象
创建对象的同时还能够给对象相关属性赋值;
新建对象时,如果没有构造器,会默认特供一个空参构造;
一旦声明了有参,则空参构造就会消失
属性赋值过程
①默认赋值 ②显示赋值 ③构造器赋值
JavaBean
>类是public
>有无参的构造器
>有属性,有get,set方法
UML类图
+是public -privat #protect
看得懂就行
思维导图的建立
面向对象基础的复习():
java内存——栈帧
栈数据区:局部变量表,方法返回地址,操作数栈,动态链接,一些附加信息
JAVA面向对象(进阶篇)
this关键字,使用this修饰的变量,表示的是属性;没有修饰就是形参;
当前正在创建的对象
用于方法,属性,构造器
面向对象的继承性
子承父类
减少冗余,利于功能扩展,类与类直接 is a关系;列如 猫 is a 动物
class A(){}
class B extends A(){}
子类会获取父类的属性和方法
但是如果封装了,虽然能访问,但是不能直接调用
终极父类是Object java是可以多层继承的 只支持单层继承;
方法的重写
@override @overwrite
重写的目标方法名与形参列表一定要与要修改的父类方法一致
权限修饰符不能小于原方法
返回值类型如果是基本数据类型 void 一定要相同
而引用数据类型 可以是返回值类型的子类
方法体没什么要求 只要求不要一致
超出异常可以相同
super关键字
没有继承就没有super
super可以调用父类的属性和方法
就近原则,this
子类不会直接继承父类的构造器,但是可以用super来调用
子类构造器的首行一定会存在 this 或 super 如果都没有 默认super 且只能存在一种;子类中的多个构造器 如果有n-1的调用时this 则剩下的那个一定时super
例子:
A
B
A
AB
就近原则
面向对象的多态性:(有点听不懂)
动物 名字 = new 狗();
编译看左边,运行看右边 属性不满足 只适用于方法
要有继承关系;
多态性可以增强灵活性;不用定义多个重载方法,减少冗余;
但是多态性不能使用子类的属性;成员变量没有多态性
向上转型与向下转型