
Java面向对象
xyphf_和派孔明
全栈工程师,熟悉原生JavaScript、TypeScript、ES6、Webpack、VUE全家桶、JAVA SSM框架、Spring boot 、Spring cloud、MySql、Oracle、Linux等,可独立构建多页面、单页面应用项目。
展开
-
Java面向对象基础
面向对象编程的基本概念1、什么是对象? 玩物节对象。2、什么是面向对象? 面向对象就是指以特征(属性)和行为的观点去分析现实世界中事物的一种方式。3、什么是面向对象编程? 面向对象编程就是指先使用面向对象的方式进行分析,再使用面向对象的编程语言编写的面向对象程序。 C语言是一门面向过程的编程语言。C++语言是一门既面向过程又面向对象的编程语言。Java语言是一门纯面向对象的编程语言。4、为什原创 2017-09-26 19:06:09 · 311 阅读 · 0 评论 -
Java的设计模式之单例模式
在某些特殊场合中一个类对外提供了一个对象且只能是一个对象,这样的类叫做单例类,编写单例类的设计思想叫做单例设计模式。如例: 自定义Singleton类,实现该类的封装; 自定义TestSingleton类,在main方法中能得到且只能得到Singleton类中的一个对象;public class Singleton{ //2.提供本类的引用作为本类的成员变量 private原创 2017-09-28 22:22:14 · 324 阅读 · 0 评论 -
Java常见的设计原则
1、开闭原则 public class Student{ 属性 方法 } public class Student2 extends Student{ 新的属性 新的方法 } //反射 Class c = Class.forName(从配置文件中读取);概念:对扩展开发,对修改关闭。在程序的需求发生变化的时候,不能去修改源代码,而是去扩展新的功能模原创 2017-10-25 19:03:22 · 572 阅读 · 0 评论 -
Java中方法的重载和重写的区别
一、方法的重载 在同一个类中,方法名相同参数列表不同的方法之间构造重载关系。方法重载的主要形式: ①参数的个数不同 ②参数的类型不同 ③参数的顺序不同判断方法是否重载的核心:判断调用方法能否加以区分。 参考:java.io.PrintStream类中print()和println()方法。方法重载的意义在于:调用者只需要记住一个方法名就可以调用各种不同的版本,从而实现多种类型属性的处理。方原创 2017-09-29 23:48:44 · 721 阅读 · 0 评论 -
Java中final关键字的用法
基本概念 final本意为”最终的,无法更改的”,可以修饰类、成员方法以及成员变量。使用方式 final关键字修饰类表示该类不能被继承,如:java.lang.Stetem/String类等 - 通常用来防止滥用继承。 final关键字修饰成员方法表示该方法不能被重写; - 如:java.text.SimpleDateFormat类中的format()方法。 - 通常用于防止不经原创 2017-09-29 23:33:56 · 625 阅读 · 0 评论 -
Java中super关键字和this关键字的比较
1、基本概念的比较 this关键字用于代表本类的对象; super关键字用于代表父类的对象;2、使用方式的比较 使用this. 的方式可以访问本类的成员变量和成员方法; 使用super. 的方法可以访问父类的成员变量和成员方法;使用this()的方式在构造方法的第一行表示调用本类的其他构造方法; 使用super()的方式在构造方法的第一行表示调用父类的构造方法;记住: a)使用this.原创 2017-09-29 23:24:56 · 480 阅读 · 0 评论 -
Java的static关键字
基本概念 通常情况下成员变量都隶属于对象层级,每个对象都拥有独立的内存空间来记录自己独有的成员变量,当所有对象的成员变量值都完全一样时,若每个对象单独记录则会造成内存空间的浪费,此时应该将该成员变量有对象层级提升到类层级,在内存空间中只保留一份而且被所有对象共享,为了实现该效果则使用static关键字修饰,表示静态的含义。static关键字可以修饰成员变量和成员方法表示隶属于类层级,推荐使用类名.原创 2017-09-29 23:18:03 · 319 阅读 · 0 评论 -
Java面向对象封装、继承、多态的总结
一:封装 1、基本概念 通常情况下载测试类中可以给成员变量赋值一些合法但不合理(如年龄为负数、汽车行驶公里数等)的数值,而程序的执行过程无法检测和提示,此时与实际生活不符合。 为了避免上述情况的发生,就需要对成员变量的赋值操作进行合理性的判断和提示,该方法就叫做封装,通俗来说,封装就是保证成员变量合理性的机制。2、封装的流程 ①私有化成员变量,使用private关键字修饰; ②提供公有原创 2017-09-29 23:04:36 · 579 阅读 · 0 评论 -
Java面向对象的多态案例
Java面向对象的多态案例 矩形:横坐标、纵坐标、长度、宽度; 圆形:横坐标、纵坐标、半径; 写一个方法要求既能打印矩形又能打印圆形图形父类:shapepublic class Shape { private int x; private int y; public Shape() { super(); } public Shape(int原创 2017-09-29 22:01:03 · 769 阅读 · 0 评论 -
java面向对象的封装、继承、多态案例
Person父类public class Person { private String name; private int age; public Person() { super(); } public Person(String name, int age) { super(); setName(nam原创 2017-09-29 21:15:29 · 1026 阅读 · 0 评论 -
Java面向对象的封装与继承
当多个类之间有相同的特征和行为时,就可以将相同的内容提取出来组成一个新类,让原来的这些类继承自新类即可,从而实现原来的这些类吸收新类中成员的效果,此时在原来这些类中只需要编写自己独有的成员即可。 在Java语言中使用extends关键字来表达继承的关系。编写父类 : 编程实现Person类的封装public class Person{ //1.编写私有化成员变量 priva原创 2017-09-28 21:16:11 · 327 阅读 · 0 评论 -
Java面向对象之封装
通常情况下在测试类中可以给成员变量赋值一些合法但不合理的数值(如年龄为负数),而程序的执行过程无法检测和提示,此时不符合生活实际。 为了避免类似的情况发生,就需要给成员变量的赋值操作进行合理性的判断和提示,该方法就叫做封装,通俗的说,封装就是一种保证成员变量合理的机制。编程实现Person类的封装 public class Person{ //1.私有化成员变量 private St原创 2017-09-28 19:24:23 · 333 阅读 · 0 评论 -
this关键字
public class TestThis{ TestThis(){ //在构造方法中this代表当前正在构造的对象 System.out.println("TestThis(): this = " + this); } //this关键字可以看做是该方法的一个形参,用于接收调用对象代表的实参 void show(){原创 2017-09-28 08:21:48 · 289 阅读 · 0 评论 -
Java传参-基本数据类型和引用数据类型作为参数的区别(值传递)
java中的方法可以传递参数,参数的传递方法就是值传递。参数有形参和实参,定义方法时写的参数叫形参,真正调用方法时,传递的参数叫实参。调用方法时,会把实参传递给形参,方法内部其实是在使用形参。所谓值传递就是当参数是基本类型时,传递参数的值,比如传递i=10,真实传参时,把10赋值给了形参。当参数是对象时,传递的是对象的值,也就是对象的首地址。就是把对象的地址赋值给形参。基本类型当做方法的形参时 当原创 2017-09-27 20:45:26 · 27067 阅读 · 12 评论 -
构造方法与方法重载(Overload)
java的构造方法与方法重载public class Person { String name; //用于描述姓名的成员变量 int age; //用于描述年龄的成员变量 //自定义无参的构造方法 Person(){ //构造方法的方法名称与类名完全一致 } //自定有有参的构造方法,能够接受姓名和年龄作为实参 Person(String s,原创 2017-09-27 23:33:17 · 738 阅读 · 0 评论 -
递归的使用
递归就是指在一个方法体中调用方法自身的形式。使用原则:1)、有明确递归的规律和退出条件。2)、使用递归必须使问题简单化而不是复杂化。3)、当递归可能会影响程序的执行性能时,应当使用递推代替。例如我们可以利用递归来计算指定数值的阶乘并返回。我们知道:5! = 5 * 4 * 3 * 2 * 1;4! = 4 * 3 * 2 * 1;3! = 3 *原创 2017-09-27 23:46:09 · 301 阅读 · 0 评论 -
Java设计模式之模板设计模式
public abstract class TestAbstract { private int cnt; public TestAbstract() { super(); } public TestAbstract(int cnt) { super(); setCnt(cnt); } public int原创 2017-10-07 18:58:48 · 352 阅读 · 0 评论