javaSE基础06

一、匿名对象

  没有名字的对象,叫做匿名对象。

1.2匿名对象的使用注意点

  1.我们一般不会用匿名对象给属性赋值的,无法获取属性值(现阶段只能设置和拿到一个属性值、只能调用一次方法)

  2.匿名对象永远不可能是同一个对象

匿名对象的好处:书写简单

例:new Person().name = “ 小红”;

1.3匿名对象的使用场景:

  1.如果一个对象需要调用一个方法一次的时候,就可以用匿名对象来调用

  2.可以做为实际参数在方法中调用

二、构造方法

2.1概念:

在java中类OC{中初始化方法叫做构造方法

2.2回忆OC初始化方法的特点:

  1.可以在对象创建时初始化属性值

  2.初始化方法只能被调用一次

2.3构造方法的作用:

  给对应的对象进行初始化,对象创建时初始化属性值

2.4如何创建构造方法:

格式:

修饰符 类名(参数列表){具体实现}

构造方法使用注意点

  1.方法名和类名保持一致

  2.构造方法没有返回值

  3.构造方法不是由我们自己手动调用的,而是在对象创建时由java虚拟机调用

  4.如果一个类我们没有给它定义一个构造方法,jvm在编译的时候会给这个类默认添加一个无参的构造方法

  5.如果我们自己定义了构造方法,jvm就不会在创建无参的构造方法,这个时候需要自己定义一个无参的构造方法

三、方法重载

3.1概念

在java中方法是可以重名的,我们把这种重名的方法叫做方法的重载

3.2方法重载的使用注意事项

  1.必须是方法名一样才可以叫做方法重载

  2.任何方法都可以实现方法重载

  3.保证参数列表的参数顺序或者个数不一样

构造方法中是可以调用普通方法的

在同一个类中,方法的调用直接拿到方法名调用就可以了

3.3构造代码块

  构造代码块的作用:给对象统一初始化

  构造代码块的格式:

  {

    你要统一初始化的内容

  }

注意:构造代码块必须写在成员的位置上

代码块:

  1.构造代码块

  2.局部代码块:写在方法中,也是以大括号来表示

  3.静态代码块:在项目启动的时候就执行的话,需要使用静态代码块,这种代码是主动执行的

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

  1.对象被创建出来时就执行了

  2.Java中编译器编译一个java原文件的时候,会把成员变量的声明放在类的最前面

  3.成员变量初始化都是在构造方法中执行的

  4.一旦经过java编译器编译后,那么构造代码块中的代码会移到构造函数最前面执行

  5.成员变量的显示初始化和构造代码。按照当前代码的顺序执行,谁在后面就显示谁

四、this关键字

this:代表所属方法的调用对象,和OC中的self很像

this关键字的作用:

  1.如果成员变量和局部变量重名,在方法中默认调用局部变量。如果要使用成员变量,可以通过this点调用成员变量

  2.可以通过this实现构造方法的调用

this关键字使用注意点:

  1.存在于成员变量同名的局部变量,方法内部会访问局部变量(java采用一个就近原则(优先在同一个内存空间中找变量))

  2.在方法中不存在和成员变量同名的局部变量,java编译器在编译时会默认给变量前面加一个this.

构造方法中是可以调用普通(实例)方法,也可以调用构造方法

直接用方法名来调用方法,调用的是普通方法,不会将这个方法作为构造方法

例: student(name,age);

this.student(name,age);

正确的构造方法的调用:

this(参数)

使用注意点:

  1.this调用必须是语句中的第一个,不然会报错

  2.不要相互调用构造方法

构造函数和一般函数的区别:

结构:

  1.构造函数是没有返回值的,方法名就是类名

  2.构造函数是由jvm来调用的,自己无法手动调用

作用:

  1.初始化的时候给属性赋值

  2.描述对象的某种属性

javaSE基础06的更多相关文章

  1. javaSE基础03

    javaSE基础03 生活中常见的进制:十进制(0-9).星期(七进制(0-6)).时间(十二进制(0-11)).二十四进制(0-23) 进制之间的转换: 十进制转为二进制: 将十进制除以2,直到商为 ...

  2. javaSE基础07

    javaSE基础07 一.static静态修饰符 用了static修饰的变量就会变成共享的属性,只会初始化一次,在内存中只存在一个,并且每个对象都可以访问,存放在方法区(数据共享区) 1.1 stat ...

  3. javaSE基础05

    javaSE基础05:面向对象 一.数组 数组的内存管理 : 一块连续的空间来存储元素. Int [ ] arr = new int[ ]; 创建一个int类型的数组,arr只是一个变量,只是数组的一 ...

  4. javaSE基础04

    javaSE基础04 一.三木运算符 <表达式1> ? <表达式2> : <表达式3> "?"运算符的含义是: 先求表达式1的值, 如果为真, ...

  5. javascript基础06

      javascript基础06 splice var del_arr = del.splice(0,2); //删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返 ...

  6. javaSE基础02

    javaSE基础02 一.javac命令和java命令做什么事情? javac:负责编译,当执行javac时,会启动java的编译程序,对指定扩展名的.java文件进行编译,生成了jvm可以识别的字节 ...

  7. JavaSE基础01

    JavaSE基础篇01 ------从今天开始,我就学习正式java了,O(∩_∩)O哈哈~,请大家多指教哦 一.Windows常见的dos命令 操作dos命令: win7 --->开始 --- ...

  8. javase基础复习攻略《十》

    按照计划本篇为大家总结JAVA的网络编程,什么叫网络编程呢?网络编程!=网站编程,对于这一点大家一定要注意,很多小朋友都曾经这么认为.既然谈到网络编程,咱们先了解一下网络的基础知识,什么是计算机网络? ...

  9. javase基础复习攻略《二》

    今天就开始的真正走进JAVASE的世界,本篇介绍的是:JAVASE基础语法,大家如果有C语言的基础,对于本节内容一定感觉非常轻松,编程语言之间的都是相通的,只不过C语言属于面向过程编程,而JAVA语言 ...

随机推荐

  1. 【codeforces 148D】 Bag of mice

    http://codeforces.com/problemset/problem/148/D (题目链接) 题意 包中有w个白鼠,b个黑鼠.公主和龙轮流画老鼠,公主先画,谁先画到白鼠谁就赢.龙每画完一 ...

  2. python gettitle.py

    #!/usr/bin/env python # coding=utf-8 import threading import requests import Queue import sys import ...

  3. 多视图学习利器----CCA(典型相关分析)及MATLAB实现

    Hello,我是你们人见人爱花见花开的小花.又和大家见面了,今天我们来聊一聊多视图学习利器------CCA. 一 典型相关分析的基本思想 当我们研究两个变量x和y之间的相关关系的时候,相关系数(相关 ...

  4. Genymotion模拟器连接Eclipse的总结[转]

    Genymotion模拟器连接Eclipse的总结 按官网上说明安装并配置好Genymotion ,再安装好对应的Eclipse Plugin(http://plugins.genymotion.co ...

  5. Linux如何进行文件管理

    Linux中的所有数据都被保存在文件中,所有的文件被分配到不同的目录.目录是一种类似于树的结构,称为文件系统.当你使用Linux时,大部分时间都会和文件打交道,通过本节可以了解基本的文件操作,如创建文 ...

  6. 图解JVM执行引擎之方法调用

    一.方法调用 方法调用不同于方法执行,方法调用阶段的唯一任务就是确定被调用方法的版本(即调用哪一个方法),暂时还不涉及方法内部的具体运行过程.Class文件的编译过程中不包括传统编译器中的连接步骤,一 ...

  7. 使用django开发博客过程记录3——博客侧栏实现

    说起这个侧栏真是苦恼我很长时间,一开始以为和之前的一样传递额外参数就可以了就像下面这样: class IndexView(ListView): template_name = 'apps/index. ...

  8. Nginx+Php Windows部署

    http://www.cnblogs.com/huayangmeng/archive/2011/06/15/2081337.html 一定要以下面的形式启动php-cgi php-cgi.exe -b ...

  9. Event Loop个人理解

    javascript引擎单线程程序,其执行同步操作会按顺序向下执行,执行异步操作则使用事件循环模型. js引擎线程遇到异步操作,会将异步操作交给对应的观察者, 异步操作包括: dom事件 click, ...

  10. juery学习总结(一)——juery选择器

    juery在工作中经常使用,遇到不会的问题往往百度一下,事后就忘.使用到现在也感觉不到有什么提高,为了每天进步一点点,从今天起抽时间记录下对juery的学习. 学习之前,首先要了解什么是网页元素,网页 ...