构造方法

Java自学-类和对象 属性初始化

蓝咒 提交于 2019-11-29 05:48:55
如何进行Java的属性初始化 步骤 1 : 对象属性初始化 对象属性初始化有3种 声明该属性的时候初始化 构造方法中初始化 初始化块 . public class Hero { public String name = "some hero"; //声明该属性的时候初始化 protected float hp; float maxHP; { maxHP = 200; //初始化块 } public Hero(){ hp = 100; //构造方法中初始化 } } 步骤 2 : 类属性初始化 类属性初始化有2种 声明该属性的时候初始化 静态初始化块 . public class Hero { public String name; protected float hp; float maxHP; //物品栏的容量 public static int itemCapacity=8; //声明的时候 初始化 static{ itemCapacity = 6;//静态初始化块 初始化 } public Hero(){ } public static void main(String[] args) { System.out.println(Hero.itemCapacity); } } 练习 : 属性初始化 对象属性的初始化有三种方式 故意把初始化块,放在构造方法下面,问题: 这三种方式

Java反射

本小妞迷上赌 提交于 2019-11-29 05:04:27
Java反射 概念      java反射指的是,在程序运行过程中,程序可以动态地获取任何一个类有哪些方法和属性,对于一个对象可以获取它的属性和方法进行调用,我们把这种动态地获取类的属性和方法的过程叫做 反射机制 。 反射的实现方法   反射一共有三种实现方式:1、通过Class.forName()方法;2、通过getClass()方法;3、通过.Class获取对象。示例如下:   我们先定义一个待通过反射获取的POJO类Person,后面所有有关于反射的演示都是通过该类进行 public class Person { public String name; private int age; private String sex; public Person() { } private Person(String name, int age, String sex) { this.name = name; this.age = age; this.sex = sex; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int

构造方法

℡╲_俬逩灬. 提交于 2019-11-29 03:21:07
区别于普通方法 -普通方法方法名符合驼峰命名法,构造方法方法名必须和类名一致 -构造方法没有返回值类型,也不能加void。 作用 -用于实例化对象并初始化赋值 -写在new关键字的后面 注意 -如果没有手动编写构造方法,默认提供一个无参构造方法 -如果手动编写了有参构造方法,不会在提供无参构造方法 -编程规范建议我们,手写无参和有参构造 -this关键字用于指向当前对象 来源: CSDN 作者: 任贝贝 链接: https://blog.csdn.net/weixin_44059002/article/details/103243837

SpringBoot 2.0 系列005 --启动实战之SpringApplication应用

倖福魔咒の 提交于 2019-11-29 02:01:09
SpringBoot 2.0 系列005 --启动实战之SpringApplication应用 2.X 官方示例 注意是只使用了@EnableAutoConfiguration,默认是只扫描这一个我们自定义的类到bean中。不含子包和本包。下一篇我们分析原因。 package hello; import org.springframework.boot.*; import org.springframework.boot.autoconfigure.*; import org.springframework.stereotype.*; import org.springframework.web.bind.annotation.*; @Controller @EnableAutoConfiguration public class SampleController { @RequestMapping("/") @ResponseBody String home() { return "Hello World!"; } public static void main(String[] args) throws Exception { SpringApplication.run(SampleController.class, args); } } 拆分步骤 在之前的文章中我们提到

11月11、15,11月18、20、23Java第四课

假如想象 提交于 2019-11-29 01:56:09
将字符串转为数值型想加 string num=“”; //定义字符串 string num s[]=""; //定义字符串数组 for (int i=0;i<num.length() ++i){ sum=sum+num.charA+(i)-48l; } 对象 每个对象都是唯一的,自身具有唯一的标识,系统通过该标识可唯一性以找到相应的对象。 封装性:封装是面向对象的核心思想,将对象的成员属性和成员方法封装起来,不需要让外界知道具体实现细节,这就是封装思想。 继承性主要描述的是类与类之间的关系,通过继承,可以在无需重新编写原有类的情况下,对原有类的功能进行扩展。 多态性:指相同的操作,过程可作用于多种类型的对象上并获得不同的结果。 不同的对象,收到统一消息可以产生。不同的结果即具有不同的表现行为,这种现象称为多态性。 消息能够使对象间进行通信。 创建对象需要使用NEW关键字 创建Person p=new Person();//调用方法 访问对象的属性 对象名.属性名 方法的语法: [访问符] [修饰符]<返回类型> 方法名([参数列表]){ //方法体 }//一个封装模块 reture 给予返回值 方法可以带参数,通过参数可以给方法传递数据 Public void setName(String name) {this.name=name;} 形参."声明方法"对给方法定义的形式上的参数

11月25日,27日Java第五课

我只是一个虾纸丫 提交于 2019-11-29 01:53:57
构造方法作用:1、初始化:成员变量 2、类工厂:对象,创建初始化; 3、person=new person(); 创建对象时调用构造new 程序为自动创建默认构造方法。 this指代当前对象可以调用当前类的成员 调用构造方法,this出现在构造方法中的第一行。 属性一般不在类以外的方法直接调用,需要对外提供方法: public void setName(string name){ this.name=neme; } public void setAge(int age){ this.age=age; } 获取值时: public string getName(){ return this.name; } public string getAge(){ return this.age; } Java引用库跟文件目录结构相似 包:类库分级可以解决类的命名冲突,类文件管理等问题。 package用来定义包 package语句必须作为Java源文件的第一条非注释性语句 import 导入包 import 包名.*; //导入指定句中的所有类。 封装是面向对象的特性之一 封装实际上把该隐藏的隐藏,该暴露的暴露,这些都需要通过Java访问控制符来实现。 访问控制机制 private:只能被当前类中其他成员访问,类外看不到 缺省:可以被同一包中所有类访问 protected(子类访问权限)

Java File类

纵饮孤独 提交于 2019-11-29 01:44:41
目录 Java File类 1. 概述 2. File类的静态成员变量 3. 路径 4. File类的构造方法 4. 常用方法 获取功能的方法 判断功能的方法 创建和删除功能的方法 5. 目录的遍历 6. 递归 概述 练习一:递归累加求和 练习二:递归求阶乘 练习三:递归打印多级目录 7. 综合案例 文件搜索 fileFilter的原理和使用(文件过滤器) 使用lambda表达式优化 Java File类 1. 概述 java.io.File类 文件和目录路径名的抽象表示形式。 java把电脑中的文件和文件夹(目录)封装成为了一个 File 类,我们可以使用File类对文件和文件夹进行操作。 我们可以使用 File 类的方法: 创建一个文件 / 文件夹 删除文件 / 文件夹 获取文件 / 文件夹 判断文件 / 文件夹 是否存在 对文件夹进行遍历 获取文件的大小 File类是一个与操作系统无关的类,任何的操作系统都可以使用这个类中的方法。 重点:记住三个单词 file:文件 directory:文件夹 / 目录 path:路径 2. File类的静态成员变量 static String pathSeparator:与系统有关的路径分隔符,为了方便,它被表示为一个字符串。 static char pathSeparatorChar :与系统有关的路径分隔符。 static String

Java中类的继承与权限控制

天涯浪子 提交于 2019-11-29 00:54:42
一、继承   a、Java中使用extends关键字实现类的继承机制   b、通过继承,子类自动拥有了基类(superclass)的所有成员(成员变量和方法)   c、Java只支持单继承,不允许多继承;     一个子类只能有一个基类,一个基类可以派生出多个子类。   子类继承基类后,拥有私有变量的所有权,没有私有变量的使用权。   default权限为包权限,只有在同一个包中才可以访问default修饰的东西    二、方法的重写   a、在子类中可以根据需要对从基类中继承来的方法进行重写   b、重写方法必须和被重写方法具有相同方法名称、参数列表和返回类型   c、重写方法不能使用比被重写方法更严格的访问权限 三、继承中的构造方法   a、子类的构造的过程中必须调用其基类的构造方法   b、子类可以在自己的构造方法中使用super(argument_list)调用基类的构造方法     使用this(argument_list)调用本类的另外的构造方法     如果调用super,必须写在子类构造方法的第一行   c、如果子类的构造方法中没有显示地调用基类构造方法,则系统默认调用基类   无参数的构造方法   d、如果子类构造方法中既没有显式调用基类构造方法,而基类中又没有无参的   构造方法,则编译出错。 来源: https://www.cnblogs.com

IO流,对象序列化

老子叫甜甜 提交于 2019-11-29 00:14:12
对象序列化  序列化机制允许将实现序列化的Java对象转换成字节序列,这些字节序列可以保存在磁盘上,或者用于网络传输,以备以后重新恢复成原来的对象。序列化机制使得对象可以脱离程序的运行而独立存在。  对象的序列化(Serialize)指将一个Java对象写入IO流中,与此对应的是,对象的反序列化(Deserialize)则是指从IO流中恢复该Java对象。如要让某个对象支持序列化机制,则必须要让它的类是可序列化的(Serializable)。为了让某个类是可序列化的,该类需要继承如下两个接口之一:   1. Serializable接口   2. Externliazble接口 我们先从Serializable接口开始说起。当类继承了Serializable接口时,该类是可序列化的,即创建出来的对象,可以写入磁盘或者用于网络传输(基本上用于网络传输的类都是序列化的,否则程序会出现异常。若有接触过Java web开发的同学,在web应用中的HttpSession 或ServletContext就是可序列化的类)。 我们如何操作输入/输出可序列化的对象呢,答案是使用ObjectInputStream与ObjectOutputStream的字节流进行操作,这两个流不仅仅是字节流还是处理流,因此需要一个任意节点流作为基础。 下面实现将可序列化对象写入文件,并从该文件读取该对象

reflect

不羁的心 提交于 2019-11-28 23:08:34
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