构造方法

corejava复习

雨燕双飞 提交于 2020-03-04 15:42:29
重点问题总结 类加载的过程 ①加载 将文件加载成为.class文件,在获取到.class文件的二进制字节流 ②验证 验证此获取到的二进制是否合法 ③准备 通过在虚拟机给此.class文件分配内存空间,再给静态的成员变量给与默认值 ④解析 将类,接口,方法,成员变量等符号引用变成直接饮用 ⑤初始化 在初始化阶段即开始在jvm的内存中构建一个Class对象表示当前这个类完成创建 String Stringbuffer Stringbuild String是不可变长的,拼接效率低,线程安全 Stringbuffer 是可变长的,效率高,线程安全(其中有专门的负责管理线程的方法通过加锁)创建的时候会在堆空间中直接创建把字符串拼接 Stringbuild是可变长的,效率高线程不安全(没有管理线程的方法) java的特点:跨平台面向对象简单。跨平台的意思就是java程序都运行在JVM中我们可以再不同的平台上安装jvm屏蔽差异 命名规范: 类名首字母大写 包名全小写 方法名驼峰 常量全大写_分割 变量:是存储在内存的一块空间,是存储数据的单元 byte,short,int,long,double,float,char,Boolean 函数就相当于方法 访问修饰符 返回值类型 函数名(形参列表) 可以返回一个与返回值类型形同的数据也可以返回一个异常 创建数组的方式 int []a =new int

静态嵌套类

前提是你 提交于 2020-03-04 00:11:40
静态嵌套类 什么是静态嵌套类 就是成员内部类加上static修饰符。 静态嵌套类中的元素 1.实例变量 2.类变量 3.构造方法 4.实例方法 5.类方法 静态嵌套类中的方法访问其他的变量和方法 1.在静态嵌套类中构造方法和实例方法中访问静态嵌套类中的实例变量/实例方法,默认this.,可以省略this. 2.在静态嵌套类中构造方法和实例方法中访问静态嵌套类中的类变量/类方法,默认静态嵌套类类名.,也可以省略this.,可以省略静态嵌套类类名./this. 3.在静态嵌套类中类方法中不能访问静态嵌套类中的实例变量/实例方法。 4.在静态嵌套类中的类方法中访问静态嵌套类中的类变量/类方法,默认静态嵌套类类名.,可以省略静态嵌套类类名. 5.在静态嵌套类中的类方法中不能出现this. 6.在静态嵌套类中构造方法和实例方法/类方法可以访问构造方法,通过new访问。 静态嵌套类中访问外部类的变量和方法 1.静态嵌套类中的构造方法/实例方法/类方法可以访问外部类的实例变量/实例方法,只能通过外部类的对象访问 2.静态嵌套类中的构造方法/实例方法/类方法可以访问外部类的类变量/类方法,默认外部类的类名.,可以省略外部类的类名. 3.静态嵌套类中的构造方法/实例方法/类方法可以访问外部类的构造方法,通过new访问 外部类中访问静态嵌套类中的变量和方法 1.外部类中的构造方法/实例方法

JAVA中this用法小结

心已入冬 提交于 2020-03-03 23:36:29
Java关键字this只能用于方法方法体内。当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是 this。因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this,这在“Java关键字static、final 使用总结”一文中给出了明确解释。并且this只和特定的对象关联,而不和类关联,同一个类的不同对象有不同的this。 package test; public class ThisTest { private int i=0; //第一个构造器:有一个int型形参 ThisTest(int i){ this.i=i+1;//此时this表示引用成员变量i,而非函数参数i System.out.println("Int constructor i——this.i: "+i+"——"+this.i); System.out.println("i-1:"+(i-1)+"this.i+1:"+(this.i+1)); //从两个输出结果充分证明了i和this.i是不一样的! } // 第二个构造器:有一个String型形参 ThisTest(String s){ System.out.println("String constructor: "+s); } // 第三个构造器

JavaSE基础加强之网络编程(七)

你。 提交于 2020-03-03 16:26:08
概述 (一)网络通信概述 (二)TCP协议 (三)综合案例:文件上传 (一)网络通信概述 demo01: 软件结构 C/S结构 :全称为Client/Server结构,是指客户端和服务器结构。常见程序有QQ、迅雷等软件。 B/S结构 :全称为Browser/Server结构,是指浏览器和服务器结构。常见浏览器有谷歌、火狐等。 demo02: 网络通信协议: TCP/IP TCP/IP协议: 传输控制协议/因特网互联协议( Transmission Control Protocol/Internet Protocol),是Internet最基本、最广泛的协议。它定义了计算机如何连入因特网,以及数据如何在它们之间传输的标准。它的内部包含一系列的用于处理数据通信的协议,并采用了4层的分层模型,每一层都呼叫它的下一层所提供的协议来完成自己的需求。 上图中,TCP/IP协议中的四层分别是应用层、传输层、网络层和链路层,每层分别负责不同的通信功能。 链路层 :链路层是用于定义物理传输通道,通常是对某些网络连接设备的驱动协议,例如针对光纤、网线提供的驱动。 网络层 :网络层是整个TCP/IP协议的核心,它主要用于将传输的数据进行分组,将分组数据发送到目标计算机或者网络。 运输层 :主要使网络程序进行通信,在进行网络通信时,可以采用TCP协议,也可以采用UDP协议。 应用层

10-导包、创建对象、使用对象(Scanner、Random、ArrayList)

删除回忆录丶 提交于 2020-03-03 11:51:44
通用步骤 1、导包 // import 路径+包名称 import java . util . Scanner ; 2、创建 // 类名称 对象名称 = new 类名称(); Random rd = new Random ( ) ; 3、使用 与此前类似,通过调用成员方法使用类的功能 重点是通过查询文档获悉包路径、构造方法、成员方法 Scanner 功能 Scanner类主要功能是获取输入; 常用构造方法 Scanner sc = new Scanner ( System . in ) //System.in表示获取键盘输入 常用成员方法 sc . next ( ) // 返回键盘输入的下一个字符串 sc . nextInt ( ) // 返回键盘输入的下一个整数 Random 功能 常用构造方法 Random rd = new Random ( ) ; 常用成员方法 rd . nextInt ( ) ; //返回下一个随机整数,范围是整个整数 rd . nextInt ( 100 ) ; // 返回下一个随机整数,范围是[0,100); ArrayList<E> 功能 对象数组,功能类似于数组 区别在于,ArrayList数组的长度是可变的,并且只能存取引用类型 泛型 类名后面“<E>”即是泛型,规定了ArrayList中的元素类型 基本类型的引用形式 基本类型 引用形式

java——构造方法

淺唱寂寞╮ 提交于 2020-03-03 01:30:42
1、构造方法的方法名是类名,并且构造方法没有返回值 2、一个类中默认有构造方法,没有参数的(毕竟成员变量是有默认值的)。当定义了一个有参构造方法时,则默认的无参构造方法就没有了。 3、构造方法用 new来调用 例如: package javalearn ; public class Learn { int age ; double a ; char ch ; boolean f ; String str ; public static void main ( String [ ] args ) { Learn l = new Learn ( ) ; //无参的默认构造方法,用new调用构造方法 System . out . println ( l . age ) ; System . out . println ( l . a ) ; System . out . println ( l . ch ) ; System . out . println ( l . f ) ; System . out . println ( l . str ) ; } } 4、构造方法中不允许有final和static修饰 5、一个类中可以根据需要定义多个构造方法(方法重载) 例如: package javalearn ; public class Learn { int age ; double

Java之面向对象

故事扮演 提交于 2020-03-03 00:18:59
6.1 面向过程与面向对象 什么叫面向对象? 面向对象(Object-Oriented,简称OO)就是一种常见的程序结构设计方法。 面向对象思想的基础是 将相关的数据和方法放在一起 ,组合成一种新的复合数据类型,然后使用新创建的复合数据类型作为项目的基础。 面向对象是一个很抽象的概念,它相对面向过程而言。 过程与对象都是一种解决问题的思想。 面向过程:强调的是功能行为 ,面向过程就是分析出实现需求所需要的步骤,通过函数一步一步实现这些步骤,接着依次调用即可 ,也就是一种过程, 先干啥, 再干啥; 面向对象:将功能封装到对象里,强调的是具备某功能的对象; 面向对象是把整个需求按照特点、功能划分,将这些存在共性的部分封装成对象,创建了对象不是为了完成某一个步骤,而是描述某个事物在解决问题的步骤中的行为 按照面向对象的思想,可以把任何的东西看做对象! 面向过程和面向对象一定是互斥的吗 ?肯定不是 我们在处理问题时可以完全的面向过程 但是不能完全面向对象。举个例子来说: 你让女朋友做饭 你这个角度而言 面向对象 从女朋友这个角度而言呢?如果GF做 面向过程;如果GF不做 叫外卖 面向对象 从餐馆这个角度而言呢?应该是要做饭 面向过程;如果餐馆不做 可以叫别家餐馆做 .....别的餐馆都不做 这个饭始终没人做 相互踢皮球 从中可以看出什么 这个事最终要被处理-面向过程 所以

(代码块;继承;this与super关系;继承关系中构造方法和成员方法的关系;重载与重写对比;类的继承特点;final关键字;)Java零基础学习笔记 Day08

旧时模样 提交于 2020-03-02 14:33:13
一,代码块 概述:被大阔号单独包裹的代码段叫做代码块 ​根据位置的不同,命名的不同他的使用时机和功能不一样。 分类: ​ 局部代码块 ​ 构造代码块 ​ 静态代码块 ​ 同步代码块【今天不讲,多线程的时候讲】 局部代码块 ​ 概述:定义在方法中的代码块 ​ 位置:方法的方法体中 ​ 作用:给局部变量赋值,或者定义局部变量 代码 package com.ujiuye.demo; import java.util.Arrays; public class Demo01 { public static void main(String[] args) { Demo01 demo01 = new Demo01(); demo01.show(); } public void show() { int a = 10 ;//局部变量 //局部代码块 { a = 30 ; int b = 40;//局部变量 System.out.println(a);//30 10 System.out.println(b);//40 } System.out.println(a);//30 代码块对外面的局部变量的赋值是永久的 //System.out.println(b);输出不了 b变量的生存范围变小了 } } 总结: 好处:缩小了局部变量的使用范围和生命周期,及时的释放内存空间达到提升运行效率。 注意:

对象

让人想犯罪 __ 提交于 2020-03-02 14:23:13
我们已经说过类是创建对象的模板.当使用一个类创建了一个对象时,我们也说我们给 出了这个类的一个实例. 创建对象 创建一个对象包括对象的声明和为对象分配内存两个步骤. 1 对象的声明. 一般格式为 类的名字 对象名字; 如 People zhangPing 这里 People 是一个类的名字,zhangPing 是我们声明的对象的名字. 2 为声明的对象分配内存. 使用 new 运算符和类的构造方法为声明的对象分配内存,如果类中没有构造方法,系统 会调用默认的构造方法 默认的构造方法是无参数的,你一定还记得构造方法的名字必须和 类名相同这一规定 .如 zhangPing=new People(); 以下是两个详细的例子. 例子 1 class XiyoujiRenwu { float height,weight; String head, ear,hand,foot, mouth; void speak(String s) { System.out.println(s); } } class A{ public static void main(String args[]) { XiyoujiRenwu zhubajie; //声明对象. zhubajie=new XiyoujiRenwu(); //为对象分配内存,使用 new 运算符和默认的构造方法. … … . … . } }

Java 静态域、 构造块、构造方法的执行顺序

假装没事ソ 提交于 2020-03-02 14:03:38
主动学习给你带来的进步绝对让你很惊讶。 用最简单的语言阐述最深刻的知识,纯属个人总结,有所借鉴。 构造方法 与类同名且没有返回类型。对象创建通过构造方法完成,功能是完成对象的初始化,构造方法可以重载。 构造块 构造块给类进行初始作用,符号{} 只能用static修饰,加上static后就成为了静态块,只能初始化静态成员变量。 静态域 静态变量、静态方法、静态块,执行静态域时,按照顺序加载 关系 new对象时 先执行 构造 块, 再 执行构造方法 ,每new一个对象都执行一次。 静态域随类的加载执行,不管new了几个对象,静态域都只执行一次。 执行顺序 静态 域( 静态变量 > 静态方法 > 静态块 ) > 构造 块 > 构造方法 一个简单的程序验证: 我们来看一下运行结果: 寒江孤影,江湖故人,相逢何必曾相识。 来源: CSDN 作者: 你们不可弃 链接: https://blog.csdn.net/weixin_42183330/article/details/104607480