构造方法

构造方法特点

  • 方法名与类名相同
  • 方法名前没有返回值类型的声明(void也没有)
  • 方法中不能使用return语句返回一个值
  • 创建对象时自动调用并执行
  • 如果类中没有自定义构造方法,则java调用类的默认构造方法,将使用默认值来初始化成员变量

构造方法与一般方法区别

  • 格式

    构造方法和类名相同,并且无返回类型,无返回值

    一般方法可任意起名,必须有返回类型,可无返回值
  • 调用

    构造方法在对象一建立就调用,给对象初始化

    一般方法时对对象的调用才执行
  • 运行次数

    一个对象建立,构造方法只能运行一次

    一般方法可被该对象调用多次
  • 作用

    构造方法用于创建对象,并进行初始化

    一般方法时用于完成特定功能的

构造方法的重载

在一个类中可以定义多个构造方法,只要每个构造方法的参数类型或参数个数不同即可

构造方法的类型

  • 有参构造方法
  • 无参构造方法
class Persion{
private String name;
private int age; Persion(){
System.out.println("a:name="+name+",age="+age);
}
Persion(String n){
name = n;
System.out.println("b:name="+name+",age="+age);
}
Persion(String n,int a){
name = n;
age = a;
System.out.println("c:name="+name+",age="+age);
} }
public class PersionDemo2{
public static void main(String[] args){
Persion p1 = new Persion(); //调用无参构造方法
Persion p2 = new Persion("wujiadong"); //调用一个参数的构造方法
Persion p3 = new Persion("wujiadong",24); //调用两个参构造方法
}
} /*
输出结果:
a:name=null,age=0
b:name=wujiadong,age=0
c:name=wujiadong,age=24
*/

注意

  • 为了方法实例化,构造方法一般使用public来修饰
  • 在java中每个类至少有一个构造方法,若没有定义构造方法,系统会自动为该类创建一个默认的空的构造方法

构造代码块

  • 作用

    给对象进行初始化,对象一建立就执行,而且优先于构造函数执行
  • 构造代码块和构造函数的区别

    构造代码块是给所有不同对象的共性进行统一初始化

    构造函数是给对应的对象进行初始化

主函数

主函数:是一个特殊的函数,作为程序的入口,可以被jvm调用

主函数的定义:

public:代表着该函数被范围权限是最大的

static:代表主函数随着类的加载就已经存在了

void:主函数没有具体的返回值

main:不是关键字,一个特殊的单词,可以被jvm识别

String[] args: 函数的参数,参数类型是数组,该数组的元素师字符串。字符串类型的数组

java基础(2)-面向对象(2)的更多相关文章

  1. Java基础-初识面向对象编程(Object-Oriented-Programming)

    Java基础-初识面向对象编程(Object-Oriented-Programming) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Java是一门面向对象的程序设计语言.那么什 ...

  2. 黑马程序员——【Java基础】——面向对象(二)异常机制、包(Package)

    ---------- android培训.java培训.期待与您交流! ---------- 一.异常机制 (一)异常概述 1.异常:就是程序在运行时出现不正常情况. 2.异常类:程序在运行时,出现的 ...

  3. Java基础之面向对象以及其他概念

    一.基础知识:1.JVM.JRE和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性. java语言是跨平台,jvm不是跨平台的. JR ...

  4. 【Java基础】面向对象下

    面向对象下 这一章主要涉及其他关键字,包括 this.super.static.final.abstract.interface.package.import 等. static 在 Java 类中, ...

  5. 【java基础】面向对象的三大基本特征之-------继承

    面向对象的三大特征:封装,继承,多态 java通过extends关键字来实现继承,而且是单继承,一个子类只可以有一个直接父类,但是父类还可以有父类... java.long.Object是所有类的父类 ...

  6. 黑马程序员——【Java基础】——面向对象(一)概述、类与对象、继承、抽象类、接口、多态、内部类

    ---------- android培训.java培训.期待与您交流! ---------- 一.面向对象概述 1.面向对象:是一个很抽象的概念,它相对面向过程而言,是一种程序设计的思想. 2.面向对 ...

  7. 再探java基础——对面向对象的理解(1)

    对象 对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则.计划或事件.对象具有属性和行为,在程序设计中对象实现了数据和操作的结合,使数 ...

  8. Java基础(6)- 面向对象解析

    java面向对象 对象 知识点 java 的方法参数是按值调用,是参数的一份拷贝 封装 使用private将 属性值/方法 隐藏,外部只能调用 get,set方法/非private 的接口 获取 重载 ...

  9. Java基础总结--面向对象1

    ---面向对象的概念---1.面向过程与面向对象的区别面向过程:是一种思维习惯,解决一个问题的时候靠的是一个个方法调用--核心是动作面向对象:是一种更接近生活中解决问题的思维习惯,解决特定的问题靠对象 ...

  10. Java基础知识➣面向对象(八)

    概述 Java和C#都是面向对象语言,面向对象编程是目前高级语言习惯的编程模式,与C++编写过程编程而言,面向对象使用起来高效.灵活:面向对象的三个特征:封装.继承和多态. Java面向对象 1.类封 ...

随机推荐

  1. iOS 数组的去重(普通的无序的去重和排序好的去重)

    本文转载至 http://blog.csdn.net/zhaopenghhhhhh/article/details/24972645 有时需要将NSArray中去除重复的元素,而存在NSArray中的 ...

  2. lua(仿单继承)

    --lua仿单继承 Account = { balance = } function Account:new(o) o = o or {} setmetatable(o, self)--Account ...

  3. jQuery EasyUI介绍

    官方定义:http://www.jeasyui.com/ what is JQuery EasyUI ? jQuery EasyUI framework helps you build your we ...

  4. java学习笔记——数据类型及类型转换

    数据类型分为: 1.引用类型(字符型); 2.基本数据类型(数值型); 以下为基本数据类型介绍(括号内的数字表示该类型所占据的字节数) a.整型 byte(8)   short(16)   int(3 ...

  5. form表单提交中文乱码(前台中文到JAVA后台乱码)问题及解决

    form表单提交中文乱码(前台中文到JAVA后台乱码)问题及解决 一.问题: 页面输入框中的中文内容,在后台乱码,导致搜索功能失效:(详细可以见后面的重现) 二.原因: 浏览器对于数据的默认编码格式为 ...

  6. if you have content fetched asynchronously on pages where SEO is important, SSR might be necessary

    if you have content fetched asynchronously on pages where SEO is important, SSR might be necessary

  7. 【DevExpress】 SearchLookUpEdit

    一.属性的基本介绍: 绑定数据源: lookUpEdit.Properties.ValueMember = 实际要用的字段;   //相当于Editvalue lookUpEdit.Propertie ...

  8. HTML代码的美感

    每当我访问精美的网站,我都情不自禁地会去查看源代码.这就好比你拥有一副X光眼镜,能够看到任何人--甚至透视他们的遮羞布.这简直是天经地义的事情嘛!我迫不及待地想了解,这个精美的网站,是不是由同样具有美 ...

  9. 通过jdt解析spring mvc中url-类-方法的对应关系

    依赖 <dependencies> <dependency> <groupId>org.eclipse.jdt</groupId> <artifa ...

  10. python多线程(三)

    同步锁 两个需要注意的点: 线程抢的是GIL锁,GIL锁相当于执行权限,拿到执行权限后才能拿到互斥锁Lock,其他线程也可以抢到GIL,但如果发现Lock仍然没有被释放则阻塞,即便是拿到执行权限GIL ...