一.Java编程中对象和类的概念 1,什么是类? 答:类是客观存在的,抽象的,概念的东西. 2,什么是对象? 答:对象是具体的,实际的,代表一个事物.例如:车是一个类,汽车,自行车就是他的对象. 关于类与对象的描述:类是对象的模版,对象是类的一个个体 3.类的语法格式 修饰符 class 类名{ 属性声明: 方法声明: } 说明:1.修饰符public:类可以被任意访问 2.类的正文要用{ }括起来 4.对象是根据类创建的.在Java中,使用关键字new来创建一个新的对象.创建对象需要以下三步:…
一.封装 封装,即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别:将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和方法都是类的成员.封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,以特定的访问权限来使用类的成员. 理解 开车时,我们不需要知道发动机的运转原理: 开飞机时,我们不需要知道是什么驱动螺旋桨来转动的: 思想 高内聚,低耦合: 原则 把尽可…
"算法+数据结构=程序"是一句经典名言,这句话很直接的说明了程序的本质:处理数据.产生结果.即便是最简单的HelloWorld程序,我们也可以将字符串"HelloWorld"视作数据,将输出操作视作算法. 但是在实际编程的时候,如何安置程序中的算法和数据就成了一个大问题.随着程序规模的增长,程序需要处理的数据可能会越来越多,需要用到的算法也会越来越多,以贪吃蛇为例,如果简单的将游戏需要的数据堆在程序的头部,就会变成下面的样子,各种互不相干的数据堆在一起: 用于实现游…
一.面向对象与面向过程 1.面向过程 角度是功能,以方法为最小单位,思考的是具体怎么做. 2.面向对象 角度是抽象,以类为最小单位,思考的是谁来做. 3.示例:“小明去上班” 面向过程 起床,刷牙洗脸,出门,打车,上车,出发,上班: 面向对象 小明: 起床,刷牙洗脸,出门,打车,付钱,上班: 司机: 开车,收钱 车: 跑 二.类和对象 1.概述 类 属性,方法,构造器,代码块: 类属性,静态方法,静态代码块: 内部类,匿名内部类: 对象/实例 类(模板,图纸,规范) -> 对象(实实在在的”生物…
1.对象和类(Object and class): 一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作. 面对对象编程是java非常重要的一部分,作者本身之前学过c++所以省略了部分基础,详见例子:https://www.runoob.com/java/java-object-classes.html 对象:对象是类的一个实例,有状态和行为.例如,一条狗是一个对象,它的状态有:颜色.名字.品种:行为有:摇尾巴.叫.吃等. 类:类是一个模板,它描述一类对象的行为…
抽象类 一个class定义了方法,但没有具体执行代码,这个方法就是抽象方法,抽象方法用abstract修饰.因为抽象类本身被设计成只能用于被继承,因此,抽象类可以强迫子类实现其定义的抽象方法,否则编译会报错.因此,抽象方法实际上相当于定义了"规范". 抽象方法的类都是抽象类,抽象类不全是抽象方法. 面向抽象编程的本质就是: 上层代码只定义规范(例如:abstract class Person): 不需要子类就可以实现业务逻辑(正常编译): 具体的业务逻辑由不同的子类实现,调用者并不关心…
一.方法的可变个数的参数. 问题:我们能够打印的信息都是来源于方法的参数,也就是形参的传递.那如何要给方法传递不同的参数? .1.采用数组形参来定义方法 public static void test(int a, String[] books); 2.采用可变个数形参来定义方法 public static void test(int a, String... books); 说明:1.可变参数:方法参数部分指定类型的参数个数是可变多个 2.声明方式:方法名(参数的类型名... 参数名) 3.可…
一.类的属性 1.语法格式 修饰符 类型 属性名 = 初值 说明:修饰符private:该属性只能由该类的方法使用.在同一类内可见.使用对象:变量.方法. 注意:不能修饰类(外部类)    修饰符public:该属性可以被该类以外的方法访问.对所有类可见.使用对象:类.接口.变量.方法       类型:任何基本类型,如int.boolean或任何类 补充:修饰符可以用来修饰变量,可以指明变量是公有还是私有,私有的变量不能通过 对象.属性 的方式调用 2.变量的分类: 1.成员变量:在方法体外,…
包装类 基本类型-->包装类 byte-->Byte short-->Short int-->Integer long-->Long char-->Character float-->Float double-->Double boolean-->Boolean 基本类型转为包装类型: 自动装箱Autoboxing:将基本类型直接赋值给包装类变量或者Object类变量 包装类型转为包装类型: 自动拆箱AutoUnboxing:把包装类对象直接赋值给基本…
4.3 用户自定义类 4.3.1 类数组的声明 需要两次new Employee[]=staff=new Employedd[3]; staff[0]=new Employedd(参数列表); staff[1]=new Employedd(参数列表); staff[2]=new Employedd(参数列表); 4.3.2 封装的注意 不要直接一个retrun一个类,应该先clone public Date getHireDay() { return hireDay; //这是错误的,只是浅复制…