构造方法

java——总结

我是研究僧i 提交于 2019-12-26 07:50:13
一、java基础 java基本特点:面向对象,多线程,跨平台 1、基本语法 类名第一字母大写 源文件:只能有public类;类名文件名一样 注释:|| | | | *| 关键字:都是小写 标示符:命名包括数字 下划线 $ 字母,不能以数字开头,不能包含特殊字符 常量:final 全是大写 变量:局部变量,全局 数据类型:基本8大类 整型 字符 Boolean ;引用:类 接口 数组 注释 枚举 转换:自动 强制 Byte——shout——int long float double Char Java运算符:算术 关系 位 逻辑 表达式:运算符+操作数 3+5 a+b 运算优先级:[] () ++a 程序结构 顺序 分支 循环 初始化:迭代变量 循环条件 循环体 迭代变量改变 For(int i=0;i<100;++i){ While Do while 至少执行一次循环 } Public class Name { Static 成员:类成员 This:代表当前对象,调用构造方法 构造方法:属性初始化类名相同;没有返回值 创建对象 调用构造方法new可以多个构造方法重载 访问修饰符[默认 public private preteted]成员方法为私有成员提供set get } Static 方法:只能调用static变量 Static 变量:普通方法可以使用 类名 对象名=new

java -类加载器与反射

六月ゝ 毕业季﹏ 提交于 2019-12-26 04:45:03
类加载器 类的加载 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过 加载,连接,初始化 三步来实现对这个 类进行初始化 。 l 加载 就是指将 class文件 读入内存,并为之创建一个 Class对象 。 任何类被使用时系统都会建立一个Class对象( 有且只有一个 ) l 连接 验证 是否有正确的内部结构,并和其他类协调一致 准备 负责为类的静态成员分配内存,并设置默认初始化值 解析 将类的二进制数据中的符号引用替换为直接引用 l 初始化 就是我们以前讲过的初始化步骤 类初始化时机 1. 创建类的实例 2. 类的静态变量,或者为静态变量赋值 3. 类的静态方法 4. 使用反射方式来强制创建某个类或接口对应的java.lang.Class对象 5. 初始化某个类的子类 6. 直接使用java.exe命令来运行某个主类 类加载器 l 负责将.class文件加载到内存中,并为之生成对应的 Class对象 。 l 虽然我们不需要关心类加载机制,但是了解这个机制我们就能更好的理解程序的运行 类加载器的组成 l Bootstrap ClassLoader 根类加载器 (系统类) 也被称为引导类加载器,负责Java核心类的加载 比如System,String等。在JDK中JRE的lib目录下rt.jar文件中 l Extension ClassLoader 扩展类加载器

Java集合---LinkedList源码解析

﹥>﹥吖頭↗ 提交于 2019-12-26 02:32:36
Java集合---LinkedList源码解析 一、源码解析 1、 LinkedList类定义 2、LinkedList数据结构原理 3、私有属性 4、构造方法 5、元素添加add()及原理 6、删除数据remove() 7、数据获取get() 8、数据复制clone()与toArray() 9、遍历数据:Iterator() 二、ListItr 一、源码解析 1、 LinkedList类定义。 public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializable LinkedList 是一个继承于AbstractSequentialList的双向链表。它也可以被当作堆栈、队列或双端队列进行操作。 LinkedList 实现 List 接口,能对它进行队列操作。 LinkedList 实现 Deque 接口,即能将LinkedList当作双端队列使用。 LinkedList 实现了Cloneable接口,即覆盖了函数clone(),能克隆。 LinkedList 实现java.io.Serializable接口,这意味着LinkedList支持序列化,能通过序列化去传输。 LinkedList 是非同步的。

HelloWorld带我入门JAVA(一)

半腔热情 提交于 2019-12-25 22:39:48
基本环境配置可以百度完成,给个比较全面的网址 http://c.biancheng.net/java/10/ 创建第一个java工程 通过Eclipse运行程序 启动Eclipse,在菜单中选择“文件 --> 新建 --> Java项目”,弹出对话框: 图1 新建项目 填入项目名称,点击“完成”,创建项目成功,可以看到在 E:\java\workspace 目录下多出了一个Demo文件夹。 在菜单中选择“文件 --> 新建 --> 类”,弹出对话框: 图2 创建类 输入类名称,点击“完成”,成功创建一个HelloWorld类: 图3 新创建的类文件 将下面的代码输入到源文件,注意Java是大小写敏感的: public class HelloWorld { public static void main(String[] args){ System.out.println("Hello World!"); } } 点击运行按钮 ,或者在菜单中选择“运行 --> 运行”,就可以看到下方控制台输出了“Hello World!”: 图4 控制台输出 恭喜你,你成功编写并运行了第一个Java程序。 打开Demo文件夹下的bin目录,出现了一个 HelloWorld.class 文件,默认情况下Eclipse是不显示这个文件夹的,可以通过点击Window - show view -

Java之反射机制

本小妞迷上赌 提交于 2019-12-25 19:58:03
今天我们就来讲讲java的反射机制。 当程序主动使用某个类的时候,如果该类还没有被加载到内存中,则系统会通过加载、连接、初始化这三个步骤对该类进行初始化,有时候会把这一整个流程叫做类加载器或类初始化 类加载时值将类文件读入到内存中,并且为该类创建一个对象、之后可以直接通过对象来调用类及其实现的父类方法和属性 一、反射机制到底是什么:类是由一组对象(拥有着共同属性)来组成的,而类与类之间也有共同的属性、构造方法、方法等结构,用来描述类的特性,即可以调用或查看某个类的属性、方法、即构造方法就叫做反射。 二、java反射机制的好处: 1.极大的提高了应用程序的扩展性,之前都是通过多来将子类对象传递给父类应用来实现的,大大的增加了代码的耦合性,并且无法访问真实对象的信息,这个时候就可以采取使用反射机制。 2.当代码需要后期维护的时候,则需要修改很多地方,而通过反射机制,只需要直接修改一个地方即可。 e.g Person person=new Student(); 三、应用场景:一般应用于底层框架的应用,不过大部分都已经封装好了的、以及可以实现工厂模式和代理模式等设计模式,同时也可以解决java泛型擦除等令人苦恼的问题 一个类的组成: 成员变量、成员方法、构造方法、修饰符、包等 四、反射的组成:1.Class(类本身) 2.Field(属性) 3.Method(方法)

构造函数与静态方法

流过昼夜 提交于 2019-12-25 19:43:26
一个类 可以有多个构造函数。构造函数的主要作用 一是用来实例化该类。二是 让该类实例化的时候执行哪些方法,初始化哪些属性。 注意事项: 如果你没写无参构造方法 系统会给你提供一个无参构造方法 如果只写了有参的构造方法 这时系统不再提供 无参构造方法 写类的时候 建议 无参有参构造方法一起写 代码举例: public class Demo01 { public static void main (String[] args) { Car car = new Car(); car.name = "保时捷" ; car.num = 911 ; car.sayHi(); //使用有参构造方法创建对象 Car car2 = new Car( "比亚迪" , F10); System. out .println(car2.name + " " + car2.num); //在赋值成员变量时 使用哪种方法好? set方法 和 有参构造方法 //具体看情况 大多使用set方法 } } class Car{ String name; int num; // 构造方法的重载:只跟参数有关 //无参 构造方法 public Car () { System. out .println( "我是无参的构造方法" ); } //有参 构造方法 public Car (String name, int num)

Java反射

我与影子孤独终老i 提交于 2019-12-25 06:50:33
反射 反射相关API java.lang.Class:类 java.lang.reflect.Method:方法 java.lang.reflect.Field:成员变量 java.lang.reflect.Constructor:构造方法 首先创建Person类用来测试反射 public class Person extends Animal implements Move , Study { private String msg ; public int age ; public Person ( ) { System . out . println ( "这是一个公共无参构造方法" ) ; } public Person ( String msg ) { this . msg = msg ; System . out . println ( "这是一个公共带参构造方法" ) ; } private Person ( String msg , int age ) { this . msg = msg ; this . age = age ; System . out . println ( "这是一个私有带参构造方法" ) ; } public void showMsg ( ) { System . out . println ( "这是一个公共无参方法" ) ; }

Java常考面试题整理(一)

喜欢而已 提交于 2019-12-25 06:02:28
1.什么是java虚拟机?为什么java被称作是"平台无关的编程语言". 参考答案: java虚拟级是一个可以执行java字节码的虚拟机进程,java源文件被编译成能被java虚拟机执行的字节码文件. java被设计成允许应用程序可以运行在任意的平台而不需要程序员为每一个平台单独重写或者是重新编译,java虚拟机让这个变成可能,因为它知道底层硬件平台的指令长度和其他特性. 2.jdk和jre的区别是什么? 参考答案: java运行环境(JRE),它包括Java虚拟机,Java核心类库和支持文件,它不包含开发工具(JDK)--编译器,调试器和其它工具. java开发工具包(JDK)是完整的java软件开发包,包含了JRE,编译器和其它的工具(比如:JavaDoc,java调试器),可以让开发者开发编译,执行java应用程序. 3."static"关键词是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法? 参考答案: "static"关键字表名一个成员变量或者是成员方法可以在没有所属的类的实例变量的情况下被访问. Java中的static方法是不能被覆盖,因为方法的覆盖是基于运行时的动态绑定的,而static方法是编译是静态绑定的,static方法跟类的任何实例都不相关,所以概念上不适用. Java中也不可以覆盖private的方法

第九章:GUI(图形用户界面)

一曲冷凌霜 提交于 2019-12-25 05:28:45
GUI全称Graphical User Interface,即图形用户界面。 9.1AWT概述 AWT是用于创建图形用户界面的一个工具包,它提供了一系列用于实现图形界面的组件,如窗口、按钮、文本框、对话框等。在AWT中组件分为两大类,这两类的基类分别是Component和MenComponent。其中,MenComponent是所有与菜单相关组件的父类,Component则是除菜单外其他AWT组件的父类,它表示一个能以图形化方式显示出来,并可与用户交互的对象。 Component类通常被称为组件,根据Component的不同作用,可将其分为基本组件类和容器类。基本组件类是诸如按钮、文本框之类的图形界面元素,而容器类则是通过Component的子类Container实例化的对象。Container类表示容器,它是一种特殊的组件,可以用来容纳其他组件。Container容器又分为两种类型,分别是Window和Panel,接下来对这两种类型进行详细讲解。 Window Window类是不依赖其他容器而独立存在的容器,它有两个子类,分别是Frame类和Dialog类。Frame类用于创建一个具有标题栏的框架窗口,作为程序的主界面。 Panel Panel也是一个容器,但是它不能单独存在,只能存在其他容器(Window或其子类)中,一个Panel对象代表了一个长方形的区域

java作业2

别来无恙 提交于 2019-12-25 01:33:40
子类将继承父类的那些成员变量和方法?子类在什么情况下隐藏父类的成员变量和方法? (1)子类继承父类的成员变量,包括实例成员变量和类成员变量。 (2)子类继承父类除构造方法以外的成员方法,包括实例成员方法和类成员方法。(3) 子类不能继承父类的构造方法,因为父类的构造方法用来创造父类对象,子类需定义 自己的构造方法,用来创建自己的子类。(4)子类可以重新定义父类成员。 1 。父类的实例变量和静态变量能被子类的同名变量隐藏 2。父类的静态方法被子类的同名静态方法隐藏 3。父类的实例方法被子类的同名实例变量覆盖2.父类的final方法可以被子类重写 吗? 3 .什么类中可以有abstract方法?、 Abstract类 4 .什么叫对象的上转型对象? Java在继承中分向上转型和向下转型,如果把引用变量转换为子类类型就称向下转 型, 如果把引用变量转换为父类对象就称向上转型,这个父类对象就是上转型对象。 5.接口中能声明变量吗? 不可以 接口只能声明静态常量和抽象方法。如果你在eclipse接口中直接写int a=3;和void say(); 也是可以的。他会默认帮你加public static final 和pubulic abstract 抽象类可以声明变 量。和常量。” 6.接口中能定义非抽象方法吗? 不可以 7.什么叫接口的回调?