构造方法

JAVA异常

扶醉桌前 提交于 2020-02-09 03:34:27
throw关键字 /** * throw关键字 * 作用: * 可以使用throw关键字在指定的方法中抛出指定的异常 * 使用格式: * throw new xxxException("异常产生的原因"); * 注意: * 1.throw关键字必须写在方法内部 * 2.throw关键字后边new的对象必须是Exception或者Exception的子类对象 * 3.throw关键字抛出指定的异常对象,我们就必须处理这个异常对象 * throw关键字后边创建的是RuntimeException或者RuntimeException的子类对象,我们可以不处理,默认交给JVM处理(打印异常对象,中断程序) * throw关键字后边创建的是编译异常(写代码的时候报错),我们就必须处理这个异常,要么throws,要么try...catch */ public class Demo03Throw { public static void main ( String [ ] args ) { //int[] arr=null; int [ ] arr = new int [ 3 ] ; int e = getElement ( arr , 3 ) ; System . out . println ( e ) ; } /* 在工作中我们必须对方法传递过来的参数进行合法性校验 如果参数不合适

Android Bitmap

筅森魡賤 提交于 2020-02-09 03:19:48
1. 初识Bitmap Bitmap是一个final类,因此不能被继承。Bitmap只有一个构造方法,且该构造方法是没有任何访问权限修饰符修饰,也就是说该构造方法是friendly,但是谷歌称Bitmap的构造方法是private(私有的),感觉有点不严谨。不管怎样,一般情况下,我们不能通过构造方法直接新建一个Bitmap对象。 Bitmap是Android系统中的图像处理中最重要类之一。Bitmap可以获取图像文件信息,对图像进行剪切、旋转、缩放,压缩等操作,并可以以指定格式保存图像文件。 2. 创建Bitmap对象 既然不能直接通过构造方法创建Bitmap,那怎样才能创建Bitmap对象。通常我们可以利用Bitmap的静态方法 createBitmap() 和BitmapFactory的 decode 系列静态方法创建Bitmap对象。 Bitmap的静态方法 createBitmap() BitmapFactory的 decode 系列静态方法 3. Bitmap的颜色配置信息与压缩方式信息 Bitmap中有两个内部枚举类: Config 和 CompressFormat , Config 是用来设置颜色配置信息的, CompressFormat 是用来设置压缩方式的。 Config 解析: 通常我们优化Bitmap时,当需要做性能优化或者防止OOM(Out Of

[五]类加载机制双亲委派机制 底层代码实现原理 源码分析 java类加载双亲委派机制是如何实现的

一个人想着一个人 提交于 2020-02-08 22:59:06
原文地址: [五]类加载机制双亲委派机制 底层代码实现原理 源码分析 java类加载双亲委派机制是如何实现的 Launcher启动类 本文是双亲委派机制的源码分析部分,类加载机制中的双亲委派模型对于jvm的稳定运行是非常重要的 不过源码其实比较简单,接下来简单介绍一下 我们先从启动类说起 有一个Launcher类 sun.misc.Launcher; 仔细看下这简短的几行注释,可以得到有用的信息 ps:直接IDE里面查看反编译的,看不到注释的,可以下载openJDK查看源码,我的这个版本是openjdk-8-src-b132-03_mar_2014 sun.misc.Launcher 这个类是系统用于启动主应用的启动器 构造方法 Launcher() 中做了四件事情 创建 扩展 类加载器 创建 应用程序 类加载器 设置ContextClassLoader 如果需要安装安全管理器 security manager 其中launcher是staitc的,所以初始化的时候就会创建对象,也就是触发了构造方法,所以初始化的时候就会执行上面四个步骤 ExtClassLoader 和 AppClassLoader 都是Launcher的静态内部类 而且,他们也都是ClassLoader的实现类 看下ExtClassLoader的创建中的关键几步

Java三大特性之继承性的习题

爱⌒轻易说出口 提交于 2020-02-08 07:09:28
【练习题】1.继承: 定义一个名为Vehicles(交通工具)的基类(父类),该类中应包含String类型的成员属性brand(商标)和color(颜色),还应包含成员方法run(行驶,在控制台显示“我已经开动了”)和showInfo(显示信息,在控制台显示商标和颜色),并编写构造方法初始化其成员属性。 编写Car(小汽车)类继承于Vehicles类,增加int型成员属性seats(座位),还应增加成员方法showCar(在控制台显示小汽车的信息),并编写构造方法。 编写Truck(卡车)类继承于Vehicles类,增加float型成员属性load(载重),还应增加成员方法showTruck (在控制台显示卡车的信息),并编写构造方法。 在main方法中测试以上各类。 代码实现: 1、Vehicles类: package home.work; public class T1_Vehicles { String brand;// 商标 String color; public T1_Vehicles() { } public T1_Vehicles(String brand, String color) { this.brand = brand; this.color = color; } public void run() { System.out.println("我已经开动了!

Java期末复习

天大地大妈咪最大 提交于 2020-02-08 05:00:13
类变量也叫静态变量,也就是在变量前加了static 的变量; 实例变量也叫对象变量,即没加static 的变量; 区别在于: 类变量和实例变量的区别在于:类变量是所有对象共有, 其中一个对象将它值改变,其他对象得到的就是改变后的结果; 而实例变量则属对象私有,某一个对象将其值改变,不影响其他对象; 2. 在类中定义的成员变量如果你没有初始化java会自动帮你初始化, 如果是数字会自动初始化成0,字符会初始化成’o’,对象引用会初始化成null. 当然如果你定义的是局部变量就必须初始化了,否则编译会报错 这正是java的特点,极大的提高了代码安全性 3.定义方法p176(方法调用用栈) 访问修饰符 修饰符 返回值类型 方法名(){ 方法体 } 4.对象和类 区别:对象可以使用类中的方法和变量,而变量不行;变量声明之后要进行赋值,而对象不用 联系:类是封装对象的属性和行为的载体,而对象的属性以成员变量的形式存在。 对象的方法以成员方法的形式存在,在成员方法内定义的变量为局部变量。 变量:成员变量/类变量/数据域(静态变量(有static),实例变量),局部变量(在方法体中定义的变量) 局部变量必须先赋值再使用,成员变量有默认值 公共类必须与文件同名 源代码中的每个(※每个类)类(※编译后为。class)编译成.class文件 uml图+为public修饰符 p283

week6——异常处理

故事扮演 提交于 2020-02-08 04:42:11
Java的异常是比较独特的,它是程序安全稳定的重要措施。本次作业要求自定义异常并使用异常。 (1)自定义一个异常类,注意其继承自系统的异常类,并要求有构造方法; (2)使用自定义的异常:要求在一个函数中抛出异常,在另一段程序中调用这个函数并捕获异常。 评分标准: 自定义异常类,继承自系统的异常(2分); 异常类有构造方法(2分); 异常类的构造方法中有一个链接内部异常(1分); 有抛出异常(1分); 在抛出异常的方法中有声明throws异常(1分); 有异常捕获和处理(2分); 整体程序比较合理(1分)。 代码实现: import java . util . Scanner ; /** * 异常处理 * @author sky * 2019/10/25 */ public class week6 { public static void main ( String [ ] args ) { try { Scanner s = new Scanner ( System . in ) ; System . out . println ( "请输入你的年龄(正负之分):" ) ; int i = s . nextInt ( ) ; s . close ( ) ; person p = new person ( i ) ; } catch ( Exception e ) { e .

this和static关键字

拈花ヽ惹草 提交于 2020-02-08 04:23:24
this关键字 this的本质: “创建好的对象的地址 ” ! 由于在构造方法调用前,对象已经创建。因此,在构造方法中也可以使用this代表** 当前对象 ** 。 this的常用方法: 1. 在程序中产生二义性之处,应使用this来指明当前对象;普通方法中,this总是指向调用该方法的对象。构造方法中,this总是指向正要初始化的对象。 2. 使用this关键字调用重载的构造方法,避免相同的初始化代码。但只能在构造方法中用,并且必须位于构造方法的第一句。 3. this不能用于static方法中 。static是静态方法,存放在方法区。this是当前类的对象,存放在堆中。当静态方法执行时,this还不存在,所以不可能使用this。      例:this()调用重载构造方法 public class TestThis2 { int a , b , c ; TestThis2 ( ) { System . out . println ( "正要初始化一个Hello对象" ) ; } TestThis2 ( int a , int b ) { this ( ) ; //调用无参的构造方法,并且必须位于第一行 a = a ; //这里都是指的局部变量而不是成员变量 //这样就区分了成员变量和局部变量,这种情况占了this使用情况大多数 this . a = a ; this . b =

Java面向对象大致梳理

你。 提交于 2020-02-07 21:19:19
面向对象思想、 面向对象思想概述: Java设计语言面向对象: Java语言是一种面向对象的程序设计语言,而面向对象思想是一种程序设计思想,我们在面向对象思想的指引下, 使用Java语言去设计、开发计算机程序。 这里的对象泛指现实中一切事物,每种事物都具备自己的属性和行为。面 向对象思想就是在计算机程序设计过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,描述成计算 机事件的设计思想。 它区别于面向过程思想,强调的是通过调用对象的行为来实现功能,而不是自己一步一步的去 操作实现。 类和对象: 类:是一组相关属性和行为的集合。可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该 类事物 属性:就是该事物的状态信息。 行为:就是该事物能够做什么。 对象:是一类事物的具体体现。对象是类的一个实例(对象并不是找个女朋友),必然具备该类事物的属性 和行为。 类与对象的关系 : 类是对一类事物的描述,是抽象的。 对象是一类事物的实例,是具体的。 类是对象的模板,对象是类的实体。 面向对象之封装: 概述: 面向对象编程语言是对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改。 封装可以被认为是一个保护屏障,防止该类的代码和数据被其他类随意访问。要访问该类的数据,必须通过指定的 方式。适当的封装可以让代码更容易理解与维护,也加强了代码的安全性。

反射

邮差的信 提交于 2020-02-07 19:55:03
反射的概念及演示 1).什么是“反射”:它是Java提供的一种技术,这种技术可以让我们任意的加载某个类,并创建它的对象,甚至不用知道这个类的名字、以及内部结构。 2).“反射”的作用:可以解开“类与类之间的耦合关系”。 运行时class文件的加载 1).当我们的程序第一次创建某个类的对象时,会去找它的class文件;如果在本次运行过程中,再创建此类对象,就不会再去找class文件了。 注意:JVM在运行时,为任何的类,都会在“方法区”中创建它的Class对象,而且每个类,只创建一个”Class对象”。 获取Class对象的三种方式 1).getClass()方法 2).类名.class 3).Class.forName(“全类名”);【常用】 示例代码: public static void main ( String [ ] args ) throws ClassNotFoundException { //1.getClass()方法获取此类的Class对象 Student stu1 = new Student ( ) ; //创建Class对象 Class c1 = stu1 . getClass ( ) ; //2.类名.class Class c2 = Student . class ; //如果没有Class,会创建Class对象;如果有,就直接获取 //3.Class

类与 Object 的应用 + 面试题

。_饼干妹妹 提交于 2020-02-07 14:08:26
类与 Object 的应用 + 面试题 类介绍 Java 程序是由若干个类组成的,类也是面向对象编程思想的具体实现。 以下为类的基本使用: public class Cat { // 私有属性 private String name; private int age; // 构造方法 public Cat() { } // 普通方法 public void eat() { System.out.println("吃吃吃"); } // 对外包装属性 public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } 类引用 当我们需要使用不同包下的类时,就需要使用 import 导入包或类,这个时候才能正常使用。例如,我们要使用 java.util 下的 ArrayList 就必须使用 import java.util.ArrayList ,请参考以下代码: // 导入 ArrayList 类 import java.util.ArrayList; class importTest {