第二周技术总结

结构化编程{ 对一个东西熟悉}(StructureProgramming)
1围绕着程序要解决的任务来设计,
2采用流程图和自顶向下的方法设计,
3编写一个主过程来启动程序流程,随后根据程序流程走向,调用想要的其它过程
面对对象编程(对一个东西不熟悉)(ObjectOriented)
1围绕问题域中的对象来设计
2属性指对象身上什么值的数据
3找对象(找名词):对象可以是问题域中出现的任何人、事物(名词抽离法),
4万物皆对象,对象因我的关注而存在
5找到对象后,编写一个类来描述每个对象的属性和行为
6模块化(建立对象,将问题域化为不同的对象去处理)
类Java中的类用关键字class声明。Java源代码文件中只能包含一公用(public)类,文件名必须与公用类的类名相同,文件扩展名为“.java”。
1类是对象的抽象,对象是类的实例(比如毛,狗都属于动物类)
2类是摸版,对象才是真正具体的存在
3类是具有相同属性和行为的一组对象的抽象
4在软件系统中,用类模拟现实生活中的实体
5相同类型的对象之间可能属性的值可能不同,行为不同
6在类中添加方法(在类中添加行为)
7类与属性(拥有关系)
8向类中添加成员变量(全局变量),成员变量的组成(1访问修饰符:public、private、protected,如果省略访问修饰符,将使用默认访问修饰符2数据类型(基础类型,引用类型)3成员变量名称:必须是一个有效的标识符,后面用分号结束)
9向类中添加方法(一个类的行为成为相关类中的方法)方法的组成(1访问修饰符2返回类型3方法名称,必须是一个有效的标识符4参数列表,在括号中出现(形参,实参)5方法体)
10类是具有相同属性或行为的一组对象的抽象
实例化对象
1创建好了类,然后通过类产生对象(1引用数据类型赋的初值是null,基础数据类型赋的初值是0,2引用数据类型不能强制转换为其他数据类型)
2对象的销毁(1产生了对象,用完后要关心它的摧毁2对象没有任何引用,具备垃圾回收的条件3主动通知垃圾回收机制回收一个对象,只需要:对象=null)
访问对象的属性和方法
使用new关键字产生对象(Employee e=newEmployee())

每个对象都有一个隐含的this变量,它可以访问类的所有信息
Java通过引入包(package)的机制,以解决这两个问题。 在Java中,每个类属于一个包。包有两个基本的用途:
1提供了一个组织类的机制;
2为包中的类提供了一个命名空间。
将类添加到包中;关键字:package,看看使用后的效果同包类相互调用的效果;
不同包的类相互调用的效果:关键字:import
方法组成:访问修饰符 可选修饰发 返回类型 方法名 参数列表
方法的调用:
方法在栈中:先进后出 在队列中:先进先出

实际参数传递到所调用的方法的形参的过程叫值传递

方法调用时,实际参数必须要满足形参所定义的数据参数类型,如果是基本数据类型的话,至少需要保证可以互相转换。

实际参数如果是基本数据类型和String类型,在被调用的方法内部针对形参做任何改变实参所对应的变量都不会改变。但是如果是其他引用数据类型,在被调用的方法内部针对形参做改变,实际参数也会跟着改变。

方法在执行时有三种情况:
1.方法返回一个值,一个基本数据类型或应用类型被传回给方法的调用者。
2.方法不反回一个值。
3. 方法抛出一个异常给方法的调用者。
方法的签名
访问修饰符。访问修饰符的可能值包括public、private、protected或默认访问修饰符
可选修饰符。
方法签名的下一个部分是可选的修饰符,包括static、final、abstract、native以及synchronized。native方法用于编写一个Java访问映射到用不同编程语言编写的方法。
返回类型。方法签名必须包括返回值的类型。如果方法不需要返回一个值,就使用void。
方法名。方法名必须出现在返回值之后。见名知意!!
形式参数列表。在方法名的后面必须是用一对括号括起来的形式参数列表。

当实际参数传递给形式参数时,实际参数的数据被复制给形式参数。
不管传递给方法的实际参数是什么类型,相关的形式参数都会得到该数据的一份拷贝,这就是按值调用的工作原理。
Java里面只有值传递。
行为:代表该对象可以去做什么事情,具备什么能力。
.equals(比较,=)
javaoo的三大特点
三大特点
封装1组装(类由属性与行为组装2类与类3方法与方法)2打包(隐藏属性)(1使用访问修饰符2方法的封装)
继承(extends)
多态(相同的行为。不同的显现)
1重载(静态)根据不同的参数列表来区分(1方法名是一样的2个数不一样3类型可能不一样4顺序可能不一样)
2重写(动态)
访问器(public string get) ,修改器(public string set )布尔类型在定义访问器与修噶器时,在前面属性开头不要加is
构造器
语法特点
1满足的条件:造器的名称必须与类名相同
2构造器不能声明返回值,也不能返回void
3可以不写,编译器自动会生成一个公共无参的构造器
4构造器如果显示的编写了,编译器就不会再产生默认构造器
5可以存在多个构造器
6编写有参构造器之前先编写一个无参构造器

作用:产生对象
构造器产生对象的步骤
    如果其他程序使用new,构造器()调用构造方法,那么构造器就会失去内存中申请内存空间,用于存放对象
    1去申请的内存空间中为属性分配对应的存储空间(空间有对象那么大);

2去申请的内存空间中,为属性分配对应的存储空间
3属性初始化,引用为空,基础为0,布尔为false
4执行构造器中编写的代码
定义有参构造的潜规则(在进行有参构造前,先定义无参构造)
在构造器中使用this
1只能放在构造器的第一行
2this()代表在同一类其他的构造器
3this.代表对象自身

内存空间
栈(1局部变量2返回地址3方法括号中的参数)
堆(对象,属性,行为)
方法区(双引号中的字符串2finol所修饰的属性3代码块(编译过后的代码))
本地方法区(apl)
程序计数器(代码的执行顺序,方法栈)
数组初始化
在定义数组变量是,即给数组声明长度以及确定内容,这种方式在java中被称为:数组初始化。
String[] names = {“”,””,””,””,””}(数组初始化只能写在同一排)
下面这种情况是有引用但是没有名字的对象,取名为匿名对象。
Person[] person = {new Person(“ 张三 ”),new Person(“ 李四 “),new Person(“ 王五 “)};
这种方式,使用场景是小数组,内容不多的情况下,推荐使用。

多维数组
与一维数组一样,多维数组也是对象,需要一个引用。语法也可以由一维数组过度而来:
一维:int[] b = new int[5];
二维int[][] b = new int[5][5];
方法的递归:方法中调用本方法(方法中必须要有退出本方法的条件)
JavaDoc是java语言中三种注释方法之一

猜你喜欢

转载自blog.csdn.net/qq_43039100/article/details/82314273