构造方法

第9次作业--接口及接口回调

匿名 (未验证) 提交于 2019-12-03 00:14:01
利用接口和接口回调,实现简单工厂模式,当输入不同的字符,代表相应图形时,利用工厂类获得图形对象,再计算以该图形为底的柱体体积。 Shape类(图形接口) public interface shape{ abstract double getArea(); } Cricle类(圆形类) /**创建一个圆类的继承接口,并定义半径r,PI,圆的构造方法和重写求面积方法*/ public class Cricle implements Shape { double r; final double PI = 3.14; public Cricle(double r) { this.r=r; } public double getArea() { return PI*r*r; }} Rectangle类(矩形类) /** 创建一个矩形类继承shape接口,定义长length,宽width,矩形构造方法和重写求面积方法*/ public class Rectangle implements Shape { protected double length; protected double width; public Rectangle(double length,double width) { this.length=length; this.width=width; } Rectangle()

继承内部类时使用外部类对象.super()调用内部类的构造方法

匿名 (未验证) 提交于 2019-12-03 00:14:01
今天在看《Java编程思想》的时候,看到了一个很特殊的语法,懵逼了半天――一个派生类继承自一个内部类,想要创建这个派生类的对象,首先得创建其父类的对象,也就是这个内部类,而调用内部类的构造方法创建其对象的语法,是 外部类对象.super(); 我们都知道,在Java当中,当我们创建一个类的对象时,在构造方法的第一行会默认的调用父类的构造方法,创建一个父类的对象,并用super关键字引用父类的对象。所以若一个类,它继承了一个内部类,那我们创建这个类的对象前,当然也必须创建一个其父类的对象,也就是这个内部类的对象。 但是,麻烦的是,对于内部类来说,有一个规则,那就是每个内部类的对象, 必定要绑定一个其外部类的对象 ,这就是在内部类中,能够调用外部类方法和操作外部类属性的原因。在我们平时创建内部类对象的时候,首先需要创建一个外部类对象,在使用 外部类对象.new 内部类() 语法来创建内部类对象,这时候内部类对象绑定的就是创建它的外部类对象。 所以,当我们有一个类,它继承自一个内部类的时,我们要创建它的对象,需要满足两个条件: 在创建对象前,要先创建好它的父类对象,也就是它继承的内部类对象; 想要创建内部类对象,你得先有这个内部类的外部类对象,以供他绑定; 于是出现了下面这种让人懵逼的代码: // 外部类 class Outer { // 内部类 class Inner { //

面试(三)

匿名 (未验证) 提交于 2019-12-03 00:11:01
method:发送数据的方式; action:发给谁 单选框和复选框,name值必须相同,value值可以不同 单选:type=radio 复选:type=checkbox 常见浏览器的内核: Trident内核: IE浏览器,360,搜狗浏览器等 Gecko内核: Firefox浏览器 Presto内核: Opera(原为Presto内核,现在为Blink) Webkit内核: Google Chrome http常见的状态码有那些? 200 - 请求成功 301 - 资源(网页等)被永久转移到其它URL 404 - 请求的资源(网页等)不存在 500 - 内部服务器错误 Integer与int的区别 ① int 是java提供的8种原始 数据类型之一 。Java为每个原始类型提供了封装类,Integer是java为int提供的 封装类 。int的默认值为 0 ,而Integer的默认值为 null , 即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况 ,例如,要想表达出没有参加考试和考试成绩为0的区别,则只能使用Integer。在JSP开发中,Integer的默认为null,所以用el表达式在文本框中显示时,值为空白字符串,而int默认的默认值为0,所以用el表达式在文本框中显示时,结果为0,所以,int不适合作为web层的表单数据的类型。

Java基础之抽象类与接口

流过昼夜 提交于 2019-12-02 23:57:06
1.抽象类 抽象就是从多个事物中将共性的,本质的内容抽取出来。在Java中用abstract关键字修饰class来表示抽象类。 抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。 public abstract class Animal { } 关于抽象类和抽象方法的使用注意: (1)抽象类和抽象方法必须使用abstract关键字修饰。 (2)抽象类不能实例化,即使有构造函数。只能使用多态的方法来实例化。 abstract class Animal { } class Cat extends Animal { } Animal obj = new Cat(); (3)抽象类不一定有抽象方法,但是有抽象方法的类一定是抽象类。 (4)关于抽象类的子类,要么全部实现了该抽象类的抽象方法,要么该子类也是抽象类,只实现或不实现部分抽象方法。 (5)抽象类的成员变量可以是变量,也可以是常量(用final修饰)。 (6)abstract关键字只能修饰类和方法,不能修饰成员变量(属性)。 (7)抽象类也是可以有构造方法的,该构造方法可以被子类调用来初始化抽象类的成员变量。 abstract class Animal { private String name; private int age; public Animal(String name

reflect

匿名 (未验证) 提交于 2019-12-02 23:56:01
Reflect 在java中“万事万物皆是对象”,也就是万事万物都是各种各样的类,而对于类而言又可以进一步的抽象成为一类,来描述各种类,其一个实例对象就是一种类。反射(reflect)就是把一个类的各个成员映射成相对应的类型,我们通过方法可以得到一种类的字节码文件,在通过字节码文件来实现对这一种类进行操作比如实例化、修改属性,调用方法等。 获取字节码的三种方式:可以通过类,或者是一个类的一个具体实例对象,也可以通过那个类(描述类的那个类)方式如下: Class c = Class. forName ( "com.zrm.Student" ); // 通过类类 Class c1 = Student. class ; // 通过类名 Class c2 = student.getClass(); // 类的实例对象 package com.zrm;import java.lang.reflect.Constructor;import java.rmi.StubNotFoundException;public class ReFlect1 { public static void main(String[] args) throws Exception { Student student = new Student(); //获取反射的三种方式 Class c = Class

new一个有父类的对象时各代码块的执行顺序问题

匿名 (未验证) 提交于 2019-12-02 23:56:01
public class QQ { public static void main(String[] args) { new B(); } } class A { static { System.out.println("A静态代码块"); } { System.out.println("A类代码块"); } public A() { System.out.println("A构造方法"); } } class B extends A { static { System.out.println("B静态代码块"); } { System.out.println("B类代码块"); } public B() { System.out.println("B构造方法"); } } # 代码执行的结果为: A静态代码块 B静态代码块 A类代码块 A构造方法 B类代码块 B构造方法 来源:博客园 作者: 斜月三星一太阳 链接:https://www.cnblogs.com/lwmp/p/11430363.html

恒生电子笔试复盘

帅比萌擦擦* 提交于 2019-12-02 23:52:00
恒生回来的新问题→SQL 1.构造方法 模模糊糊记住然后蒙对了 2.C语言指针的题目蒙的 3.编程题两道都很简单 4.栈数据结构应用的几种场景 (逆序/程序装载/递归/链表的删除?) 选了13 还没找到答案 5.class A {} class B extends A{} 问B()的问题 回来写了下代码发现做错了 5和1竟然是同一个方法,构造方法与继承的问题 public class NO_Hengsheng_1 { NO_Hengsheng_1(){ System.out.println("1"); } } public class NO_Hengsheng_2 extends NO_Hengsheng_1 { NO_Hengsheng_2(){ System.out.println("2"); } } public class NO_Hengsheng_3 extends NO_Hengsheng_2 { NO_Hengsheng_3(){ System.out.println("3"); } } public class NO_Hengsheng { public static void main(String[] args) { new NO_Hengsheng_3(); } } 继承问题,子类实例化生成对象时,把这个类加载到JVM上,会先生成类的实例,

19.10.13

拟墨画扇 提交于 2019-12-02 23:45:27
//1.构造方法 在想直接通过在创建实例的时候赋予字段属性, 那么就必须使用构造方法了,有无参构造方法和有参构造方法 平时,如果我们没有写构造方法,编译器系统会默认为我们添加无参构造方法 也可以同时,写无参构造方法和有参构造方法 方法名与类名相同并且是大写开头的(注意) 没有返回值(即没有void) Java中先创建实例时: <1>首先初始化实例 <2>然后执行构造方法的代码进行初始化 多个构造方法在: 可以在类里面编写多个构造方法 会自己帮我们匹配使用哪个构造方法 一个构造方法可以调用其他构造方法,这样做的目的是便于代码复用。 调用其他构造方法的语法是this(…): class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public Person(String name) { this(name, 18); // 调用另一个构造方法Person(String, int) } public Person() { this("Unnamed"); // 调用另一个构造方法Person(String) } } //2.关于class类???? 是不是一个

File类

匿名 (未验证) 提交于 2019-12-02 23:42:01
概述 java.io.File 类是 文件和目录路径名的抽象表示 ,主要用于文件和目录的创建、查找和删除等操作。 File类的静态成员变量 package demo01; import java.io.File; public class Demo01 { /* java.io.File类 文件和目录路径名的抽象表示形式。 java把电脑中的文件和文件夹(目录)封装为了一个File类,我们可以使用File类对文件和文件夹进行操作 File类是一个与系统无关的类,任何的操作系统都可以使用这个类中的方法 */ public static void main(String[] args) { /* static String pathSeparator 与系统有关的路径分隔符,为了方便,它被表示为一个字符串。 static char pathSeparatorChar 与系统有关的路径分隔符。 static String separator 与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。 static char separatorChar 与系统有关的默认名称分隔符。 操作路径:路径不能写死了 C:\develop\a\a.txt windows C:/develop/a/a.txt linux "C:"+File.separator+"develop"+File

org.springframework.orm.jpa.JpaSystemException: No default constructor for entity: : com.ali.archit

匿名 (未验证) 提交于 2019-12-02 23:42:01
org.springframework.orm.jpa.JpaSystemException: No default constructor for entity: : com.ali.architect.pojo.T_User; nested exception is org.hibernate.InstantiationException: No default constructor for entity: : com.ali.architect.pojo.T_User 没有无参构造方法 文章来源: https://blog.csdn.net/KingAnne/article/details/91559578