java第四周学习
这一周学习的还是面向对象的方法和应用
Java中方法的使用和注意事项
- 如果没有返回值,就不允许通过return关键字返回结果
- 方法中不允许嵌套使用
- Return返回值只允许返回一个值,不允许返回多个
- 逻辑代码不能写在方法的外面
- 一个类中允许出现两个相同的方法名,但是参数不能相同
方法的重载
指的是方法名一致,参数的类型不一致或者参数的个数不一致,参数类型的位置不一致,或者返回值类型不一致的定义方法
方法的重载可以提高编程效率
对象编程和面向过程编程
面向对象编程的好处:
1.更接近人类的一个思维方式
2.可以隐藏某些信息,提高程序的可维护性和安全性。
3.提高了程序的重用性。
面过程和面向对象的区别:
面向过程侧重于执行的过程。
面向对象侧重于结果,通过对象来获取到最终的结果。
成员变量: 类的属性,定义在类里面方法的外面
成员变量的作用域:从定义的位置开到整个类中都可以使用。
成员变量如果你没有赋值,会默认给你赋值:
成员变量可以在定义的时候就赋值。
成员变量的作用:用来描述一个类的公有属性。
成员变量的生命周期: 成员变量在对象被创建出来的时候才被创建,对象什么时候消失,成员变量就什么时候消失。成员变量的生命周期是和对象绑定在一起的。
局部变量: 定义在方法的内部
局部变量作用域:在他所在的方法中有用,从定义的位置开始,到方法的结束。
局部变量是没有有默认值得,你要想使用局部变量就必须给局部变量赋值
局部变量的作用: 在方法中定义一个变量给方法使用。
局部变量的生命周期: 在方法被调用时创建出来,局部变量在出了作用域就消失
局部变量的使用注意点:
1.再同一个作用域中不允许出现两个同名局部变量。
2.在不同方法中是可以出现同名的局部变量
3.在同一个类中是允许成员变量和局部变量同名
Java 匿名对象
概念:匿名对象指的就是没有名字的对象
格式:new 类名 ();
匿名对象的作用:
- 调用一次某个对象的方法
- 可以作为实参来传递,简化代码
使用注意点;
- 匿名对象是不能用来操作对象属性
- 匿名对象是无法获取对象的属性
Java 面向对象的特征
- 封装
- 继承
- 多态
一,封装
封装的使用步骤:
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代码块分类
- 构造代码块(初始化代码块)
- 局部代码块
- 静态代码块(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;
}
}
今天就写那么多吧,还有很多的应用代码没有发上来,下次补上.
java第四周学习的更多相关文章
- 20165210 Java第四周学习总结
20165210 Java第四周学习总结 教材学习内容 第五章学习总结 子类与父类: 子类: class 子类名 extends 父类名 { ... } 类的树形结构 子类的继承性: 子类和父类在同一 ...
- 20155327 java第四周学习笔记
20155327 java第四周学习笔记 五六章知识整理 1子类与父类 父类是接口或者是抽象类,子类必须继承自父类. 2子类的继承性 在Java中,通过关键字extends继承一个已有的类,被继承的类 ...
- 20145304 Java第四周学习报告
20145304<Java程序设计>第四周学习总结 教材学习内容总结 1.继承共同行为: 继承基本上就是避免多个类间重复定义共同行为,关键词为extends. 代码如下: //继承共同行为 ...
- JAVA 第四周学习总结
20175303 2018-2019-2 <Java程序设计>第四周学习总结 教材学习内容总结 •用extends来定义一个类的子类. •Object类是所有类的祖先类. •如果子类和父类 ...
- 20165326 java第四周学习笔记
第四周学习笔记 ch5 子类和父类 子类只能有一个父类 使用关键字extendsyclass 子类 extends 父类 系统默认的祖先类Object(java.lang包中) 继承:子类继承父类的方 ...
- 2016-2017-2 20155309南皓芯java第四周学习总结
教材内容总结 这次我们学习的还是两章的内容,学习任务量跟上次比的话大体上来讲是差不多的. 继承与多态 继承 继承也符合DRY(Don't Repeat Yourself)原则 Role role1 = ...
- java第四周学习总结
学号20145336 <Java程序设计>第4周学习总结 教材学习内容总结 继承 继承符合(Don't Repeat Yourself)原则,即在自己的代码中不要重复自己编写的信息,这在多 ...
- 201521123093 java 第四周学习总结
1.平面作业 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 答:1.类与方法的注释 2.super关键字代表的是父类,super.方法表示调用的是父类 2. ...
- Java第四周学习日记(绪)
1.静态导入 作用:简化书写静态导入可以作用一个类的所有静态成员静态导入格式:import static 包名.类名静态导入要注意的事项:如果静态导入的成员与本类的成员存在同名的情况下,那么默认使用本 ...
随机推荐
- Linux的more、less
2.more 文件内容或输出查看工具: more 是我们最常用的工具之一,最常用的就是显示输出的内容,然后根据窗口的大小进行分页显示,然后还能提示文件的百分比: de>[root@localho ...
- 转载C#泛型集合—Dictionary<K,V>使用技巧
1.要使用Dictionary集合,需要导入C#泛型命名空间 System.Collections.Generic(程序集:mscorlib) 2.描述 1).从一组键(Key)到一组值(Value) ...
- 深入理解QStateMachine与QEventLoop事件循环的联系与区别
最近一直在倒腾事件循环的东西,通过查看Qt源码多少还是有点心得体会,在这里记录下和大家分享.总之,对于QStateMachine状态机本身来说,需要有QEventLoop::exec()的驱动才能支持 ...
- 转 C#开发微信门户及应用(1)--开始使用微信接口
微信应用如火如荼,很多公司都希望搭上信息快车,这个是一个商机,也是一个技术的方向,因此,有空研究下.学习下微信的相关开发,也就成为日常计划的重要事情之一了.本系列文章希望从一个循序渐进的角度上,全面介 ...
- 从Image Caption Generation理解深度学习
0. 前面的话 建丁让我写一篇深度学习相关小文章,目标读者是国内的开发者.刚接到这个任务时我是颇为忐忑的,写文章要讲究厚积薄发,如果“水之积也不厚”,“则其负大舟也无力”.因为我自知水平很有限,又不是 ...
- A transition animation compatible Library.
Android5.0之后为我们提供了许多炫酷的界面过渡效果,其中共享元素过渡也是很有亮点的一个效果,但这个效果只能在Android5.0之后使用,那今天我们就来将共享元素过渡效果兼容到Android4 ...
- include()、include_once()与require()、require_once()的异同点
相同点: 首先include().include_once()与require().require_once()都是用来包含并运行指定文件的,并且包含的文件在执行时在结构上是完全一样的. 例如:inc ...
- laravel学习:修改时区
config/app.php 'timezone' => 'UTC', 改为 'timezone' => 'PRC',
- python【第十一篇】消息队列RabbitMQ、缓存数据库Redis
大纲 1.RabbitMQ 2.Redis 1.RabbitMQ消息队列 1.1 RabbitMQ简介 AMQP,即Advanced Message Queuing Protocol,高级消息队列协议 ...
- NET平台和C#
.NET平台和C#编程 一.深入.NET框架 1..NET框架具有两个组件:CLR(公共语言运行时)和FCL(框架类库),CLR是.NET框架的基础 2.框架核心类库: System.Collecti ...