- 浏览: 15087 次
- 性别:
- 来自: 广州
最新评论
一.构造函数的定义与作用
1.函数的名次与类同名
2.没有返回值类型
3.不能使用retrun 关键字来返回一个值
注意》》:没有返回值类型声明不等同于“void”,void也是一种返回值的声明(如果写上了void,那就是一个普通的方法啦!)
二.构造函数的具体应用
构造函数可以被重载
1.构造函数也一般的函数一样,都是可以被重载的.但是参数类型要不一致.而且构造函数是没有返回值
构造函数如果被调用?
2.使用new关键字来创建对象的时候,会自动的调用一个类的构造函数.也可以在一个类中利用this();来调用其他的构造函 数!
但是要注意:递归构造器调用. 普通函数的调用是:this.run(); 而构造函数调用是this();这样来调用.
类必须要定义构造函数
3.其实每一个类中至少都有一个构造函数的,如果定义类时,没有显示的声明任何的构造函数.系统会自动的为这个类创建了一个不带任何参数的构造函数.
如果你在一个类中创建了一个显式的构造函数.那么,虚拟机就不会自动的为你创建
构造函数的访问权限
4.一般在定义构造函数的时,如果没有特殊的需求(就好单例)应该使用public关键字来修饰构造函数
在一些特殊的情况使用private关键字
new Person()虚拟机做了什么事?
1.首先把类加载进来
2.为这个类创建对象.并且为成员变量初始化
3.自动的调用构造函数里面的内容
三:this关键字
this的引用
1.this关键字一般用于方法内
2.this代表是一个对象的引用
具体引用那个对象,就看这个调用方法的对象
this的应用场景
1.当在一个类中要明确指出使用对象自己的的变量或函数时就应该加上this引用 ,此时this是指当前对象自己。
2.当你要把自己作为参数传递给别的对象时,也可以用this关键字,此时this被作为参数传递。
在内部类中也会经常使用this关键字,此时this代表内部类对象,如想引用外部类对象,this前面还需要加上外部类的类名。
在构造函数中,可以使用this(实参)来调用该类的其他构造函数,此时,应注意,调用代码只能在第一行,在别的方法中不能这样调构造函数,在一个构造函数中只能调一个构造函数(因为都必须放在前面啦.所以只能调用一个)
四.函数的参数传递
1.基本数据类型在参数传递过程中值是不会改变的
(int ,byte,char,long,short,double,float,boolean )
2.引用数据类型在参数传递的过程中,其值是会被改变的.
五:static关键字之静态变量
static关键字:在程序中使用static关键字来修饰一个成员
类什么时候加载?
类只会加载一次,又因为static修饰的变量是随着类的加载而加载的. 所以其值是被任何的对象所共享.
1.静态变量修饰的属性是被所有类的实例所共享
2.静态变量可以通过类名.属性名直接访问.(因为它是随着类的加载而加载.只能加载一次)
3.静态变量在类的加载时就完成了初始化.
第六:Static关键字之静态方法
1.用static修饰的方法是静态方法
2.在类加载后,就可以直接通过类名来调用静态方法
3.可以使用类名.方法名来直接访问
4.静态方法的内部是不能直接的访问非静态的成员
原因:
因为静态访问在类加载后就可以直接调用了,而非静态的成员则需要创建对象才可以调用.所以是不能直接的来访问非静态的成员
5.静态方法内部,只能通过创建该类的对象才可以访问非static的方法.静态方法中是不能使用this关键字,因为静态方法没有别的引用. 静态方法中也没有所谓的对象。
6.静态的方法的应用:
1. 一般在工具类上面.因为工具类是可以直接调用调用就可以使用了嘛.
2.生产对象中也可以使用。
发表评论
-
javase_22(TCP的理解)
2012-09-02 19:43 559TCP传输 Socket(客户端)和ServerSocket( ... -
javase_21(DUp的学习-->*)
2012-08-30 00:45 692Socket网络编程 网络协议 IP地址与端口号 本 ... -
javase_20(Awt初步认识)
2012-08-27 01:00 940多线程的再度复习.class package com.jav ... -
javase_19(多线程)
2012-08-24 23:32 799进程: 进程是具有一定独立功能的程序关于某个数据集合上的一次 ... -
javase_18(回顾与反射机制学习)
2012-08-20 11:58 428AM上午总结: package com.ja ... -
javase_17(IO的总结)
2012-08-20 11:55 999所有的流在使用完毕时,都需要调用close方法进行关流,释放资 ... -
javase_16(其它流)
2012-08-20 11:52 814IO包中的其他流: 1.打印流 a)PrintWri ... -
javase_16(其它流)
2012-08-20 11:38 0IO包中的其他流: 1.打印流 a)PrintWri ... -
javase_15(File类的应用)
2012-08-19 00:07 802File类:用来将文件或者 ... -
javase_14(字节流)
2012-08-19 00:00 667字节流的抽象基类: InputStream(输入) ... -
javase_13(字符流)
2012-08-19 00:00 526IO(Input OutPut)流 IO流用来处理设备 ... -
javase_12(集合+时间对象)
2012-08-19 00:00 515Map集合 1.Map存储了一系列键值的映射关系2.M ... -
javase_11(集合的理解)
2012-08-19 00:00 829集合类: 为什么使 ... -
javase_10(String类日常操作)
2012-08-18 09:40 794第一: package com.ja ... -
javase_09(面向对象总结)
2012-08-18 09:39 854Java的环境配置 day01 1. 环 ... -
javase_08(基础面试题)
2012-08-18 09:38 662面试题:请说说抽象类和接口的区别 抽象类,使用abstrac ... -
javase_07(继承与设计模式)
2012-08-18 09:36 601/* 子类对象的实 ... -
javase_06(面向对象)
2012-08-18 09:29 652/* 内部类: .在类中定义的类我们称之为内部类, ... -
javase_05(面向对象)
2012-08-16 11:25 0一.构造函数的定义与 ... -
javase_04(面向对象)
2012-08-16 11:21 531面向对象:一种编程思想,使用对象来描述生活中的事物:面向对象的 ...
相关推荐
面对对象,封装性,构造方法,匿名对象,类设计题目,String类,String类相关操作方法,引用传递深入,this关键字,接受本类引用,信息的隐藏封装,java源文件的基本结构,常用的包,面向对象编程术语
继承的基本概念,集成的基本限制,子类实例化,方法的覆写,修改之前的继承操作,super关键字,final关键字,抽象类,接口,多态性,instanceof关键字,抽象类的实际应用,接口的实际应用,Object类
static关键字,static使用限制,主方法,main方法,对象数组,代码块,内部类
抽象类和接口,接口应用,匿名内部类,包装类,访问修饰符
关键字super/this的用法和区别;在继承中子类和父类构造方法的关系;方法重写;final关键字
第五章 面向对象基础一、面向对象编程思想首先解释一下“思想”。思想 Java编程思想 都成了编程思想呢 先问你个问题:你想做个怎样的人?很厉害的人 不焦虑、有工
什么是面向对象、如何定义类、如何定义对象、成员变量、局部变量、静态变量、匿名对象、Math.randon()/this/static 代码块(局部代码块、构造代码块、静态代码块、同步代码块) 、java内存结构
Java基础、数据类型、数组、类和对象基础、对象的创建和使用、类的命名空间和访问权限、面向对象高级特性、系统常用类、异常处理、集合框架
JavaSE进阶 面向对象继承
JavaSE进阶 面向对象多态
socket编程,基于udp面向对象,实现服务端和用户端之间连接互动
1 了解什么是面向过程 2 了解什么是面向对象 3 掌握类的定义和对象的创建 4 了解对象的内存图 5 掌握局部变量和成员变量的区别 6 掌握private 和this的使用 7 掌握构造方法的使用
26_面向对象的继承反映 javase video file
javase笔记,从面向对象到面向过程
2020动力节点老杜javaSE进阶班面向对象教材,希望各位想学习和巩固javaSE的下载学习。楼主最近也在学习这个,配合视频感觉蛮好的。。。。。。
Java具有类似于C++语言的“形式和感觉”,但它要比C++语言更易于使用,而且在编程时彻底采用了一种“以对象为导向”的方式。 使用Java编写的应用程序,既可以在一台单独的电脑上运行,也可以被分布在一个网络的...
Java具有类似于C++语言的“形式和感觉”,但它要比C++语言更易于使用,而且在编程时彻底采用了一种“以对象为导向”的方式。 使用Java编写的应用程序,既可以在一台单独的电脑上运行,也可以被分布在一个网络的...
5-JavaSE之面向对象编程-类与对象(上)1
Java具有类似于C++语言的“形式和感觉”,但它要比C++语言更易于使用,而且在编程时彻底采用了一种“以对象为导向”的方式。 使用Java编写的应用程序,既可以在一台单独的电脑上运行,也可以被分布在一个网络的...
JAVASE做的ATM提款机项目 使用面向对象 分层等思想开发 使用了JDOM解析XML模仿Spring,其中的xml文件用来模仿数据源