构造方法

Java从入门到精通04-类、对象

喜欢而已 提交于 2020-02-07 04:54:52
Java语言是面向对象的,计算机语言的发展向接近人的思维方式演变; 类和对口箱的区别和联系 1、类是抽象的,概念的,代表一类事物,比如人类、猫类... 2、对象是具体的,实际的,代表一个事物,比如张三、李四... 3、类是对象的模板,对象是类的一个个体、实例; 一个全面类的定义模板: package 包名; class 类名 extends 父类 implements 接口名{ 成员变量; 构造方法; 成员方法; } 类的成员方法的参数可以是多个,方法可以没有返回值; 构造方法是类的一种特殊方法,它的主要作用是完成对新对象的初始化,它有如下特点: 1、构造方法名和类名相同; 2、构造方法没有返回值; 3、主要作用是完成对新对象的初始化; 4、在创建一个类的新对象时,系统会自动的调用该类的构造方法完成新对象的初始化; 5、一个类可以定义多个构造方法; 6、每个类都有一个默认的构造方法,当定义了构造方法后,将会 替换 默认构造方法; 1 class Person{ 2 int age; 3 String name; 4 //构造方法 5 public Person(int age,String name){ 6 this.age=age; 7 this.name=name; 8 } 9 } this不能再类定义的外部使用,只能在类定义的方法内使用。 类变量是该类的所有对象共享的变量

java面向对象总结(一)

て烟熏妆下的殇ゞ 提交于 2020-02-07 04:53:33
1,抽象,封装,继承,多态是面向对象程序设计中得四个特点.   2,面向对象得软件开发大体分为:面向对象的分析,面向对象的设计,面向对象的实现.   可概括为如下过程:分析用户需求,从问题中抽取对象模型;细化模型,设计类,包括类的属性和类间的   相互关系,同时观察是否有可以直接引用的已有类或部件;选定一种面向对象的编程语言,具体编码实现   上一阶段类的设计,并在开发过程中引入测试,完善整个解决方案.   3,面向对象程序设计方法的优点是:可重用性,可扩展性,可管理性.   4,类的定义:class前的修饰符分为访问控制符和非访问控制符两大类.访问控制符包括public和private.   非访问控制符包括abstract(抽象),final(最终).   5,final类是最终类,是不能有子类的类.abstract和final不能同时修饰一个类,因为抽象类本身没有具体对象,   需要派生出子类后在创建子类的对象.而最终类不可能有子类.   6,创建对象的格式为: 类名 对象名=new 构造方法(参数);注意前面是类名后面是构造方法.   注意构造方法没有返回类型,也不能写void,主要用于完成类对象的初始化工作,一般不能直接由编程   直接调用,而是用new运算符来调用.   7,如果class前面由public修饰符,则默认构造方法的前面也应该有public修饰符.   8

12.Java String类详解

二次信任 提交于 2020-02-07 04:13:42
String类是一个字符串类型的类,使用“XXXX”定义的内容都是字符串,虽然这个类在使用上有一些特殊,但是String本身是一个类。 一、String的实例化两种方式 1、直接赋值实例化: String StringName= "xxx" ; 以上是String对象的直接赋值,以上的代码并没有使用关键字new进行。String类也是类,所以也有构造方法。 2、使用构造方法实例化: public String (String str); 可以通过构造方法为String类对象实例化,但在构造里面依然要接收一个本类对象。 二、字符串的比较 如果要想知道两个int型变量是否相等,使用“==”进行验证,在String中也可以使用“==”来进行比较。我们来看一个例子: public class StringDemo { public static void main (String args[]) { String str1 = "Hello" ; String str2 = new String( "Hello" ) ; String str3 = str2 ; // 引用传递 System. out .println(str1 == str2) ; System. out .println(str1 == str3) ; System. out .println(str2 == str3

Java 转换流的简单理解

一世执手 提交于 2020-02-07 01:49:22
字符编码和字符集 字符编码 计算机中储存的信息都是用二进制数表示的,而我们在屏幕上看到的数字、英文、标点符号、汉字等字符是二进制数转换之后的结果。按照某种规则,将字符存储到计算机中,称为编码。反之,将存储在计算机中的二进制数按照某种规则解析显示出来,称为解码。比如说,按照A规则存储,同样按照A规则解析,那么就能显示正确的文本符号。反之,按照A规则存储,再按照B规则解析,就会导致乱码现象。 编码:字符 --> 字节 解码:字节 --> 字符 字符编码,是一套自然语言的字符与二进制数之间的对应规则。 字符集 字符集,也叫编码表,是一个系统支持的所有字符集合,包括国家文字、标点符号、图形符号、数字等。 计算机要准确的存储和识別各种字符集符号,需要进行字符编码,一套字符集必然至少有一套字符编码。常见字符集有ASCII字符集、GBK字符集、Unicode字符集等。 编码引出的问题 在IDEA中,使用FileReader读取项目中的文本文件。由于IDEA的设置,都是默认的UTF-8编码,所以没有任何问题。但是,当读取系统中创建的文本文件时,由于系统的默认是GBK编码,就会出现乱码。 那么该如何解决呢?我们可以使用InputStreamReader类、OutputStreamWriter类,指定编码来进行读写操作,这时候就不会出现乱码的情况了。 OutputStreamWriter类 java

JavaScript对象中的构造方法

倖福魔咒の 提交于 2020-02-07 01:36:24
JavaScript 类/对象可以具有构造函数吗? 它们是如何创建的? #1楼 这是一个构造函数: function MyClass() {} 当你做 var myObj = new MyClass(); 执行 MyClass ,并返回该类的新对象。 #2楼 我想我会发布有关javascript闭包的信息,因为目前还没有人使用闭包。 var user = function(id) { // private properties & methods goes here. var someValue; function doSomething(data) { someValue = data; }; // constructor goes here. if (!id) return null; // public properties & methods goes here. return { id: id, method: function(params) { doSomething(params); } }; }; 欢迎对此解决方案提出意见和建议。 :) #3楼 这是我有时在JavaScript中用于 OOP 相似行为的模板。 如您所见,您可以使用闭包来模拟私有(静态和实例)成员。 new MyClass() 将返回的对象是仅具有分配给 this 对象的属性,并且位于“类”的

解读main()方法中的String[] args

只愿长相守 提交于 2020-02-07 01:11:52
搞了接近两天的java安装。下载了n次的eclipse,进不去,最后仔细的读了一下英文错误,把programdata里面的java路径改成错误的,eclipse就找到了 java -version打成了java -vertion。。。 读英文实在是太重要了 java里的new的英文意思就是"新的"的意思。在JAVA里就是创建一个新的实例,或者说一个新的对象,一个普通类在没有实例化之前,就是new之前,它的属性,方法等等在内存中都是不存在的。只有使用new了以后,这个类的一些东西在内存中才会真的存在,也就是说只有new了之后,这个类才能用 举例说明: Java中使用 new关键字 加上 构造方法,来创建一个对象,下面是一个名为Cat的类,public class Cat { public Cat() { System.out.println("这是构造方法"); }}使用new + 构造方法 来创建一个对象。 那么也就是Cat c = new Cat();前半部分,Cat c 的意思是,在内存中分配一个变量,名字叫c,这个变量是Cat类型的;后半部分,new Cat(); 这就是new关键字和构造方法来创建一个对象,Cat()是构造方法的名字。 想造出一个对象来,需要运用;new Cat(); 说明 new这个Cat类的一个对象,程序运行的时候,会调用构造方法Cat()

Java学习笔记(二)

不羁岁月 提交于 2020-02-07 00:18:24
流程控制语句 条件语句 if ifelse ifelseifelse swich(多值判断) 循环语句 while for 递归 递归结构包括两个部分: 定义递归头,没有头递归将进入死循环,也就是递归结束的条件 递归体,什么时候需要调用自身的方法 任何用递归能解决的问题都能用迭代来解决,递归不强调效率,在高性能的情况下尽量避免使用递归,花时间又耗内存 面相过程和面相对象 相辅相成的关系 OOA OOD 面相对象适合开发大型的软件 面相对象是宏观上的把控,微观处理上仍然是面相过程 构造方法,用于创建这个类的对象,无参的构造方法可以有系统的自动创建 栈 栈描述的是方法执行的内存模型,每个方法被调用的时候都会创建一个栈帧,存储局部变量、操作数、方法出口等 JVM为每一个线程创建一个栈,用于存放该线程执行方法的信息(实际参数,局部变量等) 栈属于线程私有,不能实现线程间的共享 先进后出,后进先出 栈由系统自动分配,速度快,是一个连续的内存空间 堆 用于存储创建好的对象和数组,数组也是对象 JVM只有一个堆,被所有的线程共享 是一个不连续的内存分配空间,分配灵活,速度慢 方法区(静态区) JVM只有一个方法区,所有线程共享 方法区实际也是堆,只是用于存储类、常量相关的信息 用来存放程序中永远不变或者唯一的内容 垃圾回收机制 Java引入垃圾回收机制,C++内存管理问题得到解决,提高了开发效率

Java SE学习总结 Day (10)

佐手、 提交于 2020-02-07 00:02:37
Day 10开篇: " 今天java基础主要学习了面向对象的构造方法的概念,特征,作用,分类,注意事项,JavaBean;代码块,继承的概念,特点,好处,缺点,this和super的区别,继承的注意的问题,构造方法的关系,extends关键字等。 " 知识点反馈: 今天的知识点总结思维导图 一. 构造方法 1. 构造方法的特征: (1)他的名字和类名必须完全一致 (2)构造方法没有返回值,连void也不存在 (3)不能被任何的修饰符进行修饰(权限修饰符除外) (4)不能有return语句返回值 2. 构造方法的作用: 创建对象;给对象进行初始化 例:String name = null; 这个等于null,也有赋值的过程,这个过程是谁完成呢? 构造器完成的,这个过程被称之为隐式赋值 3. 构造器的分类: (1)隐式无参构造器(系统默认提供) (2)显式定义一个或多个构造器(无参、有参,自己提供) 4. 构造器的注意事项: (1) Java语言中,每个类都至少有一个构造器 (2) 默认构造器的修饰符与所属类的修饰符一致 (3) 一旦显式定义了构造器,则系统不再提供默认构造器(一般我们即使提供了带参,一般也会自己手动的写上一个无参) (4) 一个类可以创建多个重载的构造器(构造器的名字既然和类名一致,那么是不是意味着,同一个类当中只能出现一个名字的构造;这种情况其实就会造成构造重载

day05_encapsulation

两盒软妹~` 提交于 2020-02-06 23:02:11
day05 2020年2月6日 封装性在java的体现 方法就是一种封装 关键字private也是一种封装 封装就是将一些细节信息隐藏起来,对外界不可见。 将 属性 隐藏起来,如果需要访问某个属性, 提供公共方法 对其访问 封装的步骤 : 用 private 关键字来修饰变量 对于需要访问的成员变量,提供一对 getXxx 方法、 setXxx 方法。 private关键字 private使用格式 private 数据类型 变量名 /* 问题描述:定义Person的年龄时,无法阻止不合理的数值被设置进来。 解决方案:用private关键字将需要保护的成员变量进行修饰。 一旦使用private进行修饰,那么本类当中仍可以随意访问。 但是超出本类就不能在直接访问了 间接访问private成员变量,就是定义一对setter/getter方法 对于getter来说,不能有参数,返回值类型与成员变量相对应 对于布尔类型的成员变量,函数名为isXxx而不是getXxx 对于setter来说,不能有返回值,参数类型和成员变量对应 */ public class Person { String name; private int age; public void show(){ System.out.println("my name is "+name+"年龄是"+age); } //这个成员方法

StringBuffier、StringBuilder_Java16

杀马特。学长 韩版系。学妹 提交于 2020-02-06 08:52:40
StringBuffier_Java16 01_常见对象(StringBuffer类的概述) 02_常见对象(StringBuffer类的构造方法) 03_常见对象(StringBuffe类的添加、删除功能) 04_常见对象(StringBuffe类的替换、反转功能) 05_常见对象(StringBuffe类的截取功能) 06_常见对象(StringBuffe类与String互换) 07_常见对象(StringBuffe类与StringBuilder区别) 01_常见对象(StringBuffer类的概述) A:StringBuffer类的概述 线程安全的可变字符序列。一个类似于 String 的字符串缓冲区,但不能修改 B: StringBuffer 和 String的区别 String是一个不可变的字符序列 StringBuffer是一个可变的字符序列,线程安全的 StringBuilder是一个可变的字符序列,线程不安全的更快 02_常见对象(StringBuffer类的构造方法) A:StringBuffer的构造方法: publiic StringBuffer():无参构造方法 public StringBuffer(int capacity):指定容量的字符串缓冲区对象,就是指定容器的容量 public StringBuffer(String str):