java第四周学习

这一周学习的还是面向对象的方法和应用

Java中方法的使用和注意事项

  1. 如果没有返回值,就不允许通过return关键字返回结果
  2. 方法中不允许嵌套使用
  3. Return返回值只允许返回一个值,不允许返回多个
  4. 逻辑代码不能写在方法的外面
  5. 一个类中允许出现两个相同的方法名,但是参数不能相同

方法的重载

指的是方法名一致,参数的类型不一致或者参数的个数不一致,参数类型的位置不一致,或者返回值类型不一致的定义方法

方法的重载可以提高编程效率

对象编程和面向过程编程

面向对象编程的好处:

1.更接近人类的一个思维方式

2.可以隐藏某些信息,提高程序的可维护性和安全性。

3.提高了程序的重用性。

面过程和面向对象的区别:

面向过程侧重于执行的过程。

面向对象侧重于结果,通过对象来获取到最终的结果。

成员变量: 类的属性,定义在类里面方法的外面

成员变量的作用域:从定义的位置开到整个类中都可以使用。

成员变量如果你没有赋值,会默认给你赋值:

成员变量可以在定义的时候就赋值。

成员变量的作用:用来描述一个类的公有属性。

成员变量的生命周期: 成员变量在对象被创建出来的时候才被创建,对象什么时候消失,成员变量就什么时候消失。成员变量的生命周期是和对象绑定在一起的。

局部变量: 定义在方法的内部

局部变量作用域:在他所在的方法中有用,从定义的位置开始,到方法的结束。

局部变量是没有有默认值得,你要想使用局部变量就必须给局部变量赋值

局部变量的作用: 在方法中定义一个变量给方法使用。

局部变量的生命周期: 在方法被调用时创建出来,局部变量在出了作用域就消失

局部变量的使用注意点:

1.再同一个作用域中不允许出现两个同名局部变量。

2.在不同方法中是可以出现同名的局部变量

3.在同一个类中是允许成员变量和局部变量同名

Java 匿名对象

概念:匿名对象指的就是没有名字的对象

格式:new 类名 ();

匿名对象的作用:

  1. 调用一次某个对象的方法
  2. 可以作为实参来传递,简化代码

使用注意点;

  1. 匿名对象是不能用来操作对象属性
  2. 匿名对象是无法获取对象的属性

Java 面向对象的特征

  1. 封装
  2. 继承
  3. 多态

一,封装

封装的使用步骤:

1.用private修饰符来修饰这个属性或者行为,将属性或者行为隐藏起来。

2.需要通过本类中提供操作的方法,公开一个 set方法和get方法,一般用public来修饰

不一定都是需要设置get和set方法,一般都是用set和get方法。

封装的好处:

1.提高代码的安全性。

2.简化代码。

3.便于维护代码。

权限修饰符: 可以将属性和行为隐藏起来,只允许权限内的人能够访问。

public  : 公开的,公共的。权限最大,任何人都可以来进行访问。

private : 私有的 权限最低,只允许在本类中进行访问

没有定义的权限的默认的 default 比public要小一些允许所有的人来访问它

构造方法

构造方法的作用: 初始化对象。初始化对象就是给属性赋值。

构造方法的定义格式: public 类名(参数列表){}

构造方法的特点:

1.方法名和类名是一致的。

2.构造方法没有返回值的。

构造方法的使用注意事项:

1.构造方法不能够由我们自己调用,他是jvm创建对象时调用的。

2.构造方法只能被调用一次。

3.如果类中没有定义构造方法,jvm会在编译的时候给你添加一个无参的构造方法。

4.如果类中已经定义了构造方法,jvm就你不会为你创建无参的构造方法。这个时候就需要通过指定的构造方法来创建对象。

5.构造方法可以通过重载的方式,定义多种形式的构造方法。

Java代码块分类

  1. 构造代码块(初始化代码块)
  2. 局部代码块
  3. 静态代码块(Static修饰符修饰的代码块)

构造代码块的格式:

{  代码块的内容  }

构造方法:   只能给指定的对象做初始化

构造代码块的使用注意点:

1.构造代码块它是在创建对象的时调用。

2.每创建一次对象,构造代码块就会被调用一次。

3.jvm在编译Java源文件时,会默认将成员变量的定义,放在类的最上面。

4.成员变量的赋值实际上是在构造方法中完成的。它会在构造方法的代码之前执行。

5.构造代码块的代码也是在构造方法中执行的,他也是在构造方法的代码之前执行的。

6.如果只有成员和构造代码块,按顺序执行。

Java this关键字

this关键字: 当前调用方法的所属对象, 谁调用了这个方法,this 就指的是谁。

this关键字的使用:

1.当局部变量和成员变量同名时,我可以通过this关键字来获取到成员变量。

2.可以通过this关键字调用本类中构造方法。

3如果没有同名的局部变量,方法中调用成员量时,在编译的时候会默认给给成员变量加一个this

4.在方法中可以通过this获取方法调用者对象。

5.调用其他的构造方法。

注意点 1.this必须是构造器中的第一个语句

2.一个构造方法中不能够同时调用两个其他的构造方法。

3.构造方法中不要互相调用,会出现死循环。

static关键字

static:是一个静态修饰符

static可以用来修饰成员变量:

获取成员变量:

方式一:

对象.属性名

方式二:

类名.属性名

1.static 关键字只能修饰成员变量,不能修饰局部变量。

static关键字

static修饰方法: 静态方法.

静态方法的访问方式:

访问方式一: 对象.方法名

访问方式二: 类.方法名

静态方法和非静态方法的区别:

1.静态方法可以通过类和对象来访问,但是非静态方法只能通过对象来访问。

2.静态方法中不允许直接使用非静态的成员变量。静态方法中只能使用静态的成员变量。

3.非静态方法中既可以使用非静态的成员变量,还可以使用静态的成员变量。

4.静态方法中不能访问非静态方法,只能访问静态的方法。

5.非静态方法中是可以访问静态方法

6.静态方法中不允许有this关键字和super关键字

总结: 静态方法中只能访问静态的属性和行为 ,非静态方法中都可以访问。

静态修饰法的使用场景: 
你的方法里面没有对对象的属性行为直接操作的时候就可以用static来修表示方法。

主方法 public static void main(String[] args) 的意思

public : 方法是公开任何人都可以访问。目的就是为了让jvm能够访问到。

static : 可以用类来访问方法,避免创建对象。jvm不知道该如何创建对象。

void  
: jvm虚拟机那到放回值没有任何意义。

main  
: 方法的名字,一个约定好的事情。

arguments(参数): 可以在程序运行时传递参数进来。

设计模式

java中常用的设计模式:

1 单例设计模式

2 模板设计模式

3 装饰者设计模式

4 观察者设计模式

5 工厂模式

单例设计模式: 通过单例类只能创建同一个对象

单例的使用:

1.需要花费大量资源的操作。

2.网络请求 javaEE servlet

单例对象的创建步骤:

1.私有化构造方法

2.提供一个静态方法来创建对象

3.定义一个静态的成员变量接收对象

示例:

class
Single1

{

private Single1(){}

static Single1 s ;

public
static Single1 initSingle(){

if(s ==
null){

s = new
Single1();

}

return s;

}

}

今天就写那么多吧,还有很多的应用代码没有发上来,下次补上.

时间: 2024-12-16 11:32:27

java第四周学习的相关文章

20165210 Java第四周学习总结

20165210 Java第四周学习总结 教材学习内容 第五章学习总结 子类与父类: 子类: class 子类名 extends 父类名 { ... } 类的树形结构 子类的继承性: 子类和父类在同一包中的继承性 子类和父类不在同一包中的继承性 继承关系的UML图 protected的进一步说明 子类与对象 子类对象的特点 关于instanceof运算符 成员变量的隐藏的方法重写 成员变量的隐藏: 子类对象以及子类自己定义的方法操作与父类同名的成员变量是指子类重新声明的这个成员变量. 子类对象仍

JAVA 第四周学习总结

20175308 2018-2019-2 <Java程序设计>第四周学习总结 教材学习内容总结 继承是一种由已有的类创建新类的机制.Java不支持多重继承,子类只能有一个父类. 使用extends来定义一个类的子类,如: class People{ ..... } class ChinesePeople extends People{ ....} ChinesePeople类即被定义为People的子类. 如果子类和父类都在一个包中,那么子类自然地继承了父类中不是private的成员变量/方法

java第四周学习总结

学号20145336 <Java程序设计>第4周学习总结 教材学习内容总结 继承 继承符合(Don't Repeat Yourself)原则,即在自己的代码中不要重复自己编写的信息,这在多层框架中十分有用. 在上图中RPG.java是测试代码,继承的消除了SwordMan.java, Magician.java RPG.java中的重复代码 + 多态与is-a 编译程序就是语法检查器,要知道程序片段为何可以通过编译,为何无法通过编译,就是将自己当做编译程序,检查语法逻辑是否正确,方式是从=号的

Java第四周学习日记(绪)

1.静态导入的作用:简化书写静态导入可以作用一个类的所有静态成员静态导入格式:import static 包名.类名静态导入要注意的事项:1.如果静态导入的成员与本类的成员存在同名的情况下,那么默认使用本类的静态成员,如果需要制定使用静态导入的成员,那么需要在静态成员前面加上类名. 2.增强for循环增强for循环的作用,简化迭代器的书写格式增强for循环的适用范围:如果是实现了Iterabl接口的对象或者是数组对象,,都可以使用增强for循环增强for循环的格式:for(变量类型 变量名:遍历

Java第四周学习日记

Day01 双列集合: 在现实生活中有些数据是以映射关系存在的,也就是成对存在的,比如夫妻等.单例集合无法表现出映射关系,所以学习双列集合. 双列集合无迭代器. 1.Map 双列集合: ————————| Map 如果是实现了Map类接口的集合类,具备的特点:存储的数据都是以键值对的形式存在的,键不可重复,值可以重复. ————————————| Hashmap 底层也是基于哈希表实现的. ————————————| Treemap ————————————| Hashtable 1-1 Has

20165220 Java第四周学习总结

教材学习内容总结 super:使用关键字super来访问和调用被子类隐藏的成员变量和方法. 接口:用关键字interface来定义一个接口.接口由类来实现以便使用接口中的方法,用关键字implements声明来实现一个或多个接口. 当子类新声明的变量名与继承的变量名相同时,继承的变量名会被隐藏.但是我们仍可以通过继承的方法来对隐藏的变量名进行操作.(继承的方法所操作的成员变量一定是被子类继承或隐藏的成员变量.) 上转型对象.通过把子类创建的对象的引用赋给父类创建的对象来得到上转型对象.上转型对象

20165221 JAVA第四周学习心得

教材内容总结 子类与继承 子类与父类 定义的标准格式为 class 子类名 extends 父类名 { ... } 如果一个类的声明中,没有使用extends关键字,则默认为Object类. 子类的继承性 判断是否继承的标准是看子类能否操作父类的该成员变量,若子类与父类在同一个包中,继承不是private的方法,不在同一个包中,子类只继承protected与public类. 子类与对象 关于instanceof运算符应该有左面的操作元是对象,右面的操作元是类 成员变量的隐藏和方法重写 编写子类时

201671010130 2016-2017-2 《Java程序设计》第四周学习小结

第四周学习小结 本次实验巩固了上次实验分隔数并求和的题,目前这个题有两种做法,一种是不断对数10求余,余数保存在sum中,然后左移一位,直到余数为零.另一种就是将数字强制转换成一个字符串数组String s=String.valueOf(num),根据方法s.toCharArray()将字符分离出来,据"x"-"0"=x,unicode码值相减即可得x的值. 父类和子类能够看两个交集,super关键字是否能够看做一个子类和超类的接口呢? 在子类中可以增加域.增加方法

201671010118 2016-2017-2《Java程序设计》 第四周学习心得

已经是第四周学习java课程了,但是自己还是有很多不足的地方,老师让编写一个程序"从键盘读取一个整数,如-123(不局限于该数),然后分离该整数的每位数字进行输出,数字之间空一格,并将每个数字加总求和."做这道题时,刚开始用的int方法,后来老师我们用string valueOf(num)和charAt(index)写这道程序,我对string valueOf(num)用的不是很熟练,老师讲了这道题的算法,我也不是很理解.这周的java作业我编程题也不怎么会做,我觉得自己掌握的东西太少