
Java面向对象编程
易安君
你想要的编程这里都有!
展开
-
Java面向对象编程——包的定义与使用
一、包的定义由于我们现在的项目大多数是不可能一个人完成的,往往是多人协同完成,因此可能会出现类的重名定义。其实包就相当于我们电脑或手机上的文件目录,将程序文件放在包下,不同的包中,可以出现相同的类名,这样就解决了类的重名问题,方便对类的管理。在Java中定义包的语句如以下程序所示:package com.test.first;需要注意的是:包定义必须放在类的首行一旦程序之中有包,那么程序编译后的结果就必须将*.class文件保存在指定的目录之中,这时我们可以使用打包编译处理:javac原创 2020-12-30 13:03:16 · 884 阅读 · 0 评论 -
Java面向对象编程——泛型
目录一、定义一个Point泛型,如以下程序:实例化Point类,如以下程序:关于默认的泛型类型:由于泛型是JDK1.5之后的产物,但是在此之前有不少的内置程序类或者是接口广泛应用在项目开发之中,为保证这些类或接口在追加了泛型之后,原始的类依然可以使用,所以如果没有设置泛型的类型,自动将使用Object作为类型以保证程序的正常执行,但是在编译中会出现警告。泛型的使用注意点:1.泛型之中只允许设置引用类型,如果现在要操作的基本类型,必须使用包装类;2.从JDK1.7开始,泛型对象实例化可以简化为原创 2020-12-29 16:53:19 · 403 阅读 · 0 评论 -
Java面向对象编程——抽象类与接口的区别
在实际的开发中,抽象类和接口的定义形式是非常相似的,尤其是JDK1.8之后,因为在JDK1.8之后,在接口里面也可以定义default或static方法了。但是两者仍有定义和使用区别,下面是两者之间的一个比较:抽象类和接口的区别 NO 区别 抽象类 接口 1 定义 abstract class name{} interface name{} 2 组成 构造方法、抽象方法、静态方法、全局常量、普通常量 抽象方法、全局常量、普通方法、sta原创 2020-12-28 17:58:50 · 424 阅读 · 0 评论 -
Java面向对象编程——代理设计模式(Proxy)
代理设计模式的主要功能是可以帮助用户将所有的开发注意力只集中在核心业务功能的处理上。比如你现在还是一个孩子,你上学、吃饭、买衣服得花钱,而你现在又没有经济能力,那么你会怎么办?会找你的爸爸妈妈要对不对。这里你的爸妈就充当了一个帮你赚钱的代理。你呢只关心有没有钱,钱从哪来你是不会关心的,而你的爸爸妈妈就得操心这钱从哪里来,可能是借的、打工赚的、卖血赚的等等。我没可以做如下程序设计:interface IMoney//接口{ public abstract void getMoney();原创 2020-12-28 17:35:53 · 185 阅读 · 0 评论 -
Java面向对象编程——工厂设计模式(Factory)
观察如下程序(主要观察Main方法):interface IPerson//定义一个人的标准{ public abstract void think();//思考 public abstract void learn();//学习}class Man implements IPerson{ public void think()//思考 { System.out.println("思考怎么赚钱"); } public void learn()//学习 { System.o原创 2020-12-28 16:52:06 · 245 阅读 · 0 评论 -
Java面向对象编程——接口定义与使用
1.接口基本定义接口是一组抽象方法、常量和内嵌类型的集合。接口是一种数据结构,采用抽象形式来描述约定,因此接口只有被类实现后才有意义。使用关键字interface声明接口,程序如下:interface IArea{ public static final double PI=3.14; public abstract double area();}声明接口说明:>>>接口中成员变量都是常量,声明时必须赋值,默认修饰符public static final.原创 2020-12-28 16:05:50 · 458 阅读 · 0 评论 -
Java面向对象编程——抽象性:抽象类的定义与使用
抽象类的主要作用是对子类中覆写的方法进行约定,在抽象类中可以定义一些抽象方法以实现这样的约定。抽象方法是使用了abstract关键字修饰的并且没有提供具体方法体的方法,而抽象方法所在的类必须为抽象类,抽象类也必须使用absract关键字来修饰。如下是一个抽象类的程序:abstract class Person{ private static String language="汉语"; private String name; private int age; private原创 2020-12-28 13:18:01 · 1317 阅读 · 0 评论 -
Java面向对象编程——多态性:方法、对象的多态性
多态性是面向对象编程中四大特性之一,多态性是在继承性的基础上扩展出来的概念,可以实现父子类之间的转换处理。在Java中主要有方法的多态性和对象的多态性。方法的多态性:方法实现不同的功能>>>方法的重载:同一个名称的方法可以根据传入的参数类型和个数的不同而实现不同的功能的执行。>>>方法的覆写:同一个名称的方法可能根据子类的不同有不同的实现。对象的多态性:父子类之间的转换处理>>>对象向上转型:父类 父类实例=子类实例 /...原创 2020-12-18 16:26:31 · 2783 阅读 · 0 评论 -
Java面向对象编程——Annotation简介
Annotation是JDK1.5以后提出的一个新的开发技术结构,利用Annotation可以有效的减少程序配置的代码,并进行一些结构化的定义,实际上就是一种以注解的形式实现的程序开发。以前我们开发程序分为三个过程:过程一:在程序定义的时候将所有可能使用到的资源全部定义在程序代码之中,比如IP地址等。此时如果IP地址变化,那么就需要进行源代码的修改,维护需要由开发人员来进行。过程二:引入配置文件,在配置文件中定义全部要使用到的服务器等资源,在配置项目不多时非常好用,但如果所有配置项目都这样使用就原创 2020-12-18 15:14:22 · 325 阅读 · 0 评论 -
Java面向对象编程——JavaDoc文档简介
在实际的项目开发之中,我们会大量的使用Java的API文档(JavaDoc)这个文档可以通过oracle的在线文档进行查看。如Java中String类的API文档在JDK1.9之前,所有的Java中的类库都会在JVM启动的时候进行全部的加载,这样会降低程序的性能在JDK1.9之后开始提供模块化的设计,将一些程序放在了不同的模块中。一般文档里面的组成会有以下几个部分:类的完整定义类的相关说明成员属性摘要构造方法摘要方法摘要:左边为返回值,右边为方法名称和相应原创 2020-12-17 16:14:17 · 2237 阅读 · 0 评论 -
Java面向对象编程——主方法组成分析
Java中的主方法组成是非常复杂的,而且单词也很多:public static void main(String args [ ] )public:描述的是一种公开的访问权限,主方法是一切的开始点,因此一定是公开的static:程序的执行是通过类名称来调用的,该关键字表示此方法是由类直接调用的void:主方法是一切的起点,没有返回的可能是main:是一个心跳定义好的方法名称String args[]:字符串数组,可以实现程序启动参数的接收比如:输出启动参数public cla.原创 2020-12-17 15:38:49 · 211 阅读 · 0 评论 -
Java面向对象编程——String类简单介绍
String类也就是字符串类,字符串严格来讲不能算是一个基本数据类型,也就是说没有哪一门语言会提供有字符串这种数据类型,而Java为了方便开发者进行项目的编写,利用JVM的支持制造了一种可以简单使用的String类。并且可以像基本数据类型一样进行直接的赋值处理。String类的实例化:>>>直接赋值:String = "字符串";>>>构造方法:new String("字符串");String类中之所以可以保存字符串最主要的原因是其中定义了一个数组,在St原创 2020-12-17 15:27:07 · 377 阅读 · 0 评论 -
Java面向对象编程——二维数组的定义与使用
二维数组其实就是数组的数组,类似于一个矩阵,一张二维表。二维数组定义语法:>>>动态初始化:数据类型 数组名 [ ] [ ] =new 数据类型 [行数] [列数];>>>静态初始化:数据类型 数组名[ ] [ ] =new 数据类型 [ ] [ ] {{数据,数据,……},{数据,数据,……},{……}};例如以下程序:public class Demo{ public static void main(String args[]){ i..原创 2020-12-17 12:17:05 · 462 阅读 · 1 评论 -
Java面向对象编程——数组中使用for-each迭代循环语句
我们知道,在Java中有时对数组操作不当就会造成异常,尤其是对数组下标的操作,为此Java引入了for-each语句,以方便我们得到数组中的每一个元素。语法格式:for(数据类型 变量 :数组|集合){}//表示将数组或集合中的元素依次赋值给变量例如:public class Demo{ public static void main(String args[]){ int array []=new int[10]; for(int i :array) System.out.p原创 2020-12-17 10:55:22 · 388 阅读 · 0 评论 -
Java面向对象编程——数组的引用传递分析
通过数组的基本定义我们可以发现,在数组的使用过程中依然需要使用关键字new进行内存空间的开辟。下面我们对数组的创建和使用过程进行内存分析。例如有以下程序:public class Demo{ public static void main(String args[]){ int array []=new int[10]; for(int i=0;i<array.length;i++) { array[i]=i; System.out.print(array[i]+"原创 2020-12-17 10:42:31 · 197 阅读 · 0 评论 -
Java面向对象编程——数组的基本定义与使用
数组是具有相同数据类型的元素的有序集合。声明并初始化动态数组:》》》数据类型 数组名称 []=new 数据类型 [长度]》》》数据类型 [] 数组名称=new 数据类型 [长度]比如:public class Demo{ public static void main(String args[]){ int array1 []=new int [10]; array1[0]=2;//通过数组名和下标赋值 System.out.println(array1[0]);//通过原创 2020-12-16 09:51:11 · 291 阅读 · 0 评论 -
Java面向对象编程——5代码块
在Java程序中,使用“{}”定义的结构就称为代码块,根据代码块出现的位置以及关键字的不同,代码块可以分为普通代码块、构造块、静态块、同步代码块(多线程时讲解)。1.普通代码块普通代码块主要是定义在一个方法之中的代码块。比如如下代码,if语句块中的就是普通代码块public class Demo{ public static void main(String args[]){ if(true){ int x=10; System.out.println(x++); }原创 2020-12-14 21:04:19 · 183 阅读 · 0 评论 -
Java面向对象编程-——4Static关键字
static是Java中的一个关键字,可以用来修饰属性和方法,可以用来自动命名。1.static修饰成员属性static修饰的成员属性是属于这个类的,也就是说这个属性是这个类的公共属性,即所有实例对象共享这一个存储单元的值,那么即使没有创建实例,也可以通过类名访问静态成员属性。如Person类中,语言为汉语是这个类的公共属性 private static String language="汉语";注意:我们在编程中,95%的情况下使用的都是实例成员属性,只有5%的情况下才用static原创 2020-12-14 20:32:38 · 197 阅读 · 0 评论 -
Java面向对象编程——3-1简单Java类
简单Java类是指可以描述一类信息的程序类,比如一个学生、一个老师、一个员工等,并且在类中没有特别复杂的逻辑操作,只作为一种信息存储的媒介。对于简单Java类而言,其核心的开发结构如下:1.类名称要有明确的意义,可以准确的描述某一类事物;2.类中的所有属性都要使用private进行修饰封装,封装后的属性一定要提供set和get方法;3.类中可以有多个构造方法,但必须提供无参构造方法;4.类中不允许出现任何的输出语句,所有内容的获取必须返回;5.可以提供一个获取对象详细信息的方法。原创 2020-12-14 17:22:24 · 237 阅读 · 0 评论 -
Java面向对象编程——3this关键字的详细使用
this算是Java中比较令人头痛的一个关键字,因为this的使用形式决定了它的灵活性。它可以进行三类结构的描述:>>>本类中属性:this.属性;>>>本类中的方法(构造方法、普通方法):this(),this.方法名称();>>>描述当前对象。1.this调用本类属性class Person{ private String name; private int age; public void setName(Strin原创 2020-12-14 16:38:07 · 267 阅读 · 0 评论 -
Java面向对象编程——2-2构造方法与匿名对象
在Java中,我们要使用一个对象就得先完成对象的实例化,而通常实例化对象,我们使用类的构造函数。构造函数一般分为有参构造函数和无参构造函数。其中无参构造函数是程序在编译时自动创建的。有参构造函数的定义如下: public Person(String n,int a){ name=n; age=a; }注意:一旦定义了有参构造函数,那么无参构造函数将不会再自动创建。因此常规的做法是,无参构造函数和有参构造函数都写上。有人会发现这个构造函数怎么没有返回值类型?是的,构造方原创 2020-12-14 15:48:36 · 103 阅读 · 0 评论 -
Java面向对象编程——2-1成员属性封装
在类之中的组成就是成员与方法,一般而言方法都是对外提供服务的,因此不会有较高的安全性,这时就需要采用封装性对属性进行保护。比如如下代码,未对类中的属性进行封装:class Person{ String name; int age;}public class Demo{ public static void main(String args[]){ Person per=new Person(); per.name="猪八戒"; System.out.println(per原创 2020-12-14 14:43:56 · 197 阅读 · 1 评论 -
Java面向对象编程——1-6引用传递与垃圾产生分析
在Java编程中,传递引用是经常会使用到的,有时会造成垃圾的产生,那么垃圾是如何产生的呢?下面我们来简单分析一下:假定我们有如下代码:public class Person{ String name; int age; public void setName(String name){ this.name=name; } public String getName(){ return name; } public static void main(String args[])原创 2020-11-29 18:19:07 · 173 阅读 · 0 评论 -
Java面向对象编程——1-5对象引用分析
Java中,类本身属于引用数据类型,既然是引用数据类型,那么就牵扯到内存的引用传递,其实引用传递的本质就是:同一块对内空间可以被不同的栈内存所指向,也可以更换指向。比如以下代码:public static void main(String args[]){ Person per1=new Person(); Person per12=per;//引用传递 per1.name="张三"; per1.age=18; System.out.println(per2.getName()原创 2020-11-29 18:02:07 · 192 阅读 · 0 评论 -
Java面向对象编程——1-4对象内存分析
Java之中类属于引用数据类型,引用数据类型的最大困难之处在于要进行内存的管理,同时在进行操作的时候也会有内存关系的一个变化,因此,我们针对程序的内存关系进行一些简单的分析。首先给出两块最为常用的空间:堆内存:保存的是对象的具体信息,在程序之中堆内存的开辟是通过new来完成的;栈内存:保存的是一块堆内存的地址,即通过地址找到堆内存,而后找到对象内容。...原创 2020-11-29 17:30:01 · 140 阅读 · 0 评论 -
类与对象的定义及使用(超经典)
在Java中,类是一个独立的结构体,所以需要使用class来进行定义,而在类中,主要由属性和方法组成,属性就是一个个具体的变量,方法就是可以重复执行的代码。定义一个类:public class Person{ String name;//属性 int age; public void setName(String name){//方法 this.name=name; } public String getName(){ return name; }}有了类之后,我们该如何原创 2020-10-04 14:20:06 · 1202 阅读 · 0 评论 -
类与对象关系(深度解析)
类是对某一事物的共性的抽象概念,而对象描述的是一个具体的产物。比如人类是一个抽象的概念吧,人有什么共性呢?是不是有鼻子、有嘴、有手、有脚、有肤色、有眼睛,因此人就可以成为一个类。现在有一个人,它肤色很黑,有两只手、两只脚、一双眼睛,它的名字叫Jack,那么Jack就是一个对象,因为我们把这个人给实例化了,它已经不再抽象,而是具体的一个人,她叫Jack。因此类是一个模板,而对象才是类可以使用的实例,先有类再有对象。类一般会有两个组成部分:1.成员属性(Field):有时候简称其为属性,属性就是原创 2020-10-04 13:56:41 · 356 阅读 · 0 评论 -
Java面向对象程序设计的四大核心特性及开发步骤
Java语言最大的特点就是面向对象设计,并且面向对象编程设计也在于Java自身发展而不断发展,同时很多最初不支持面向对象编程也都开始转向了面向对象编程,但是依然有许多的开发者认为面向对象是不完善的,而面向过程会比较好,或者说使用函数式编程比较好。最早并且一直到先在都在流行的编程语言C、C++、Java,其中C语言已经变成面向过程开发的一个代表,而C++、Java都是面向对象的一个编程语言。所谓面向过程是指面对一个问题的解决方案,更多的情况下,是不会做出重用的设计思考,而面向对象的的设计方式是模块化设原创 2020-10-04 13:33:31 · 1163 阅读 · 0 评论