Java基础-this关键字和构造方法(10)

this关键字方法被哪个对象调用,this就代表那个对象当局部变量隐藏成员变量时,使用this关键字(例如构造方法和访问器).构造方法构造方法作用概述给对象的数据进行初始化构造方法格式方法名与类名相同没有返回值类型,连void都没有没有具体的返回值构造方法注意事项不提供构造方法时,系统会给出默认无参数构造方法提供了构造方法时,系统将不再提供,所以要使用无参构造函数时要自己定义.构造方法也是可以重载的(即多个构造函数)构造方法通过new关键字调用类名对象名=new构造方法(...);给成员变量赋值的方式:A.setXxx()访问器.B.构造函数...

Java基础-封装(09)

通过对象直接访问成员变量,会存在数据安全问题(比如年龄不能为负).这个时候,我们就不能让外界的对象直接访问成员变量.private关键字是一个权限修饰符。可以修饰成员(成员变量和成员方法)被private修饰的成员只在本类中才能访问。一般把成员变量用private修饰,然后提供对应的getXxx()和setXxx()方法.方法中可以对值进行判断和限制封装封装概述是面向对象三大特征之一是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改(就像年龄)。封装原则:将不需要对外提供的内容都隐藏起来。把属性隐藏,提供公共方法对其访问。成员变量private,提供对应的getXxx()/setXxx()方法好处:通过方法来控制成员变量的操作,提高了代码的安全性(可以防止随便给变量赋值)把代码用方法进行封装,提高了代码的复用性(当给年龄赋值时,需要判断.所有方法都有提高复用性的好处)...
IT猿 IT猿·2020-03-27

Java基础-面向对象(08)

面向过程完成一个需求的步骤:首先是搞清楚我们要做什么,然后在分析怎么做,最后我们再代码体现。一步一步去实现,而具体的每一步都需要我们去实现和操作。这些步骤相互调用和协作,完成我们的需求。面向过程开发,其实就是面向着具体的每一个步骤和过程,把每一个步骤和过程完成,然后由这些功能方法相互调用,完成需求。面向对象当需求单一,或者简单时,我们一步一步去操作没问题,并且效率也挺高。可随着需求的更改,功能的增多,发现需要面对每一个步骤很麻烦了,这时就开始思索,能不能把这些步骤和功能在进行封装封装时根据不同的功能,进行不同的封装,功能类似的封装在一起。这样结构就清晰了很多。用的时候,找到对应的类就可以了。这就是面向对象的思想。面向对象是基于面向过程思想。思想特点是一种更符合我们思考习惯的思想可以将复杂的事情简单化将我们从执行者变成了指挥者面向过程和面向对象关系和区别面向对象是基于面向过程思想。面向过程:强调的是每一个功能的步骤。面向对象:强调的是对象,由对象去调用功能。类与对象的关系我们学习编程语言,就是为了模拟现实世界的事物,实现信息化。现实世界事物信息化:属性:就是该事物的描述信息行为:就是该...

java通过java.net.URL发送http请求调用接口

一般在*.html,*.jsp页面中我们通过使用ajax调用接口,这个是我们通常用的。对于这些接口,大都是本公司写的接口供自己调用,所以直接用ajax就可以。但是,如果是多家公司共同开发一个东西,一个功能可能要调多个接口,一两个ajax可以在jsp页面上显示,但是如果多了,就不能写这么多ajax在前端了。这时候需要封装一成一个接口,在接口里面如何调用其他接口呢?这就用到了java.net.URL这个类。java.net.URL用法如下    BufferedReaderin=null;java.net.HttpURLConnectionconn=null;Stringmsg="";//保存调用http服务后的响应信息try{      //实例化urljava.net.URLurl=newjava.net.URL(path);       //根据url获取HttpURLConnectionconn=(java.net.HttpURLConnection)url.openConnection();       //设置请求的参数conn.setRequestMethod("POST")...

Java基础-方法(07)

方法的定义方法其实就是完成特定功能的代码块在很多语言里面都有函数的定义函数在Java中被称为方法格式:修饰符返回值类型方法名(参数类型参数名1,参数类型参数名2…){函数体;return返回值;}方法格式解释A.修饰符可以理解为访问的权限B.返回值类型用于限定返回值的数据类型,如果是类名,则返回的是类的实例对象C.方法名一个名字,为了方便我们调用方法C.参数类型用于接收调用方法时传入的数据的类型D.参数名用于接收调用方法时传入的数据的变量,如果是类名,则返回的是类的实例对象E.方法体完成功能的代码F.return结束方法,把返回值带给调用者写一个方法有两个明确:  A.返回值类型明确功能结果的数据类型  B.参数列表明确有几个参数,以及参数的类型有明确返回值的方法调用:单独调用,没有意义输出调用,有意义,但是不够好,因为我不一定非要把结果输出赋值调用,推荐方式没有明确返回值的函数调用:其实就是void类型方法的调用只能单独调用(可以理解为执行某种功能不需要有返回结果) 方法重载方法重载概述在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不...
IT猿 IT猿·2020-03-27

Java基础-数组(06)

数组是存储多个变量(元素)的东西(容器),这多个变量的数据类型要一致数组概念数组是存储同一种数据类型多个元素的容器。数组既可以存储基本数据类型,也可以存储引用数据类型。数组的定义格式格式1:数据类型[]数组名;  格式2:数据类型数组名[];注意:这两种定义做完了,数组中是没有元素值的.举例:int[]arr;定义一个int类型的数组,数组名是arr(推荐)intarr[];定义了一个int类型的变量,变量名是arr数组数组初始化概述:Java中的数组必须先初始化,然后才能使用。所谓初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值。数组的初始化方式动态初始化:初始化时只指定数组长度,由系统为数组分配初始值。静态初始化:初始化时指定每个数组元素的初始值,由系统决定数组长度。动态初始化数据类型[]数组名=new数据类型[数组长度];/*左边:*int:说明数组中的元素类型是int类型*[]:说明这是个数组*arr:数组名称*右边:*new:为数组申请内存分配,开辟空间*int:说明数组中的元素类型是int类型*[]:说明这是一个数组*3:数组的长度,其实...
IT猿 IT猿·2020-03-27

Java基础-Random类(05)

随机数(Random)作用:用于产生一个随机数使用步骤(和Scanner类似)导包importjava.util.Random;创建对象Randomr=newRandom();获取随机数intnumber=r.nextInt(10);产生的数据在0到10之间,包括0,不包括10,即[0,10)。括号里面的10是可以变化的,如果是100,就是0-100之间的数据要想获得1到100Randomr=newRandom();intnumber=r.nextInt(100)+1;//[0,99]加上一后变为[1,100]...
IT猿 IT猿·2020-03-27

Java基础-流程控制(04)

在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说程序的流程对运行结果有直接的影响。所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能。流程控制语句分类顺序结构选择结构循环结构顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。选择结构也被称为分支结构。选择结构有特定的语法格式,我们必须按照它的基本格式来编写代码。Java语言提供了两种选择结构语句:1.if语句2.switch语句if语句if语句有三种格式if语句第一种格式:if(关系表达式){语句体}执行流程首先判断关系表达式看其结果是true还是false如果是true就执行语句体如果是false就不执行语句体if语句第二种格式:if(关系表达式){语句体1;}else{语句体2;}执行流程首先判断关系表达式看其结果是true还是false如果是true就执行语句体1如果是false就执行语句体2if语句第三种格式:if(关系表达式1){语句体1;}elseif(关系表达式2){语...

Java基础-运算符(03)

概念:运算符:就是对于常量和变量进行操作的符号.表达式:用运算符连接起来的符合java语法的式子,不同的运算符连接的表达式是不同类型的表达式.运算符分类:算数运算符(+ - * / % ++ --)赋值运算符(=+=-=*=/=)关系运算符(==,!=,>,>=,<,<=)逻辑运算符(&,|,!,^,&&,||)三元运算符算数运算符整数相除只能得到整数.要想得到小数,就必须有浮点数参与运算.字符参与加法运算(纯数值的为加法运算,含有字符串的为字符连接,char->int->string),其实是那字符在计算机中的存储的数据值(ASCII码表)来参与运算的'A'65'a'97'0'48inta=10;charc='A';System.out.println(a+c);//结果为75 算数运算符++ --之中的小问题.是从左向右计算,然后在向左赋值intx=4;intx2=4;inty=(x--)+(--x)+(x*10);//4+2+20=26(x-...

Java基础-Eclipse环境搭建(02)

Eclipse工具IDE(IntegratedDevelopmentEnvironment)集成开发环境集成了编写功能,分析功能,编译功能一体化的开发软件.调试功能等,其中编译在保存时运行(即保存时自动执行javac命令)Eclipse的特点描述  免费  纯Java语言编写  免安装(绿色版)  扩展性强(可以安装各种插件,svn,git,maven之类的)内容辅助键alt+/单行注释 选中内容,ctrl+/,再来一次取消多行注释 选中内容,ctrl+shift+/,ctrl+shift+格式化ctrl+shift+f...

Java基础-运行原理及变量(01)

java运行原理手动编写java文件由编译器编译成.class文件,再由解释器翻译class文件成机器语言运行.Java中注释分类单行注释格式://注释文字多行注释格式:/*注释文字*/文档注释格式:/**注释文字*/注释的作用解释说明程序,提高程序的阅读性常量分类字符串常量用双引号括起来的内容(“HelloWorld”)整数常量所有整数(12,-23)小数常量所有小数(12.34)字符常量用单引号括起来的内容(‘a’,’A’,’0’)布尔常量较为特有,只有true和false空常量null(数组部分讲解)变量概述在程序执行的过程中,在某个范围内其值可以发生改变的量从本质上讲,变量其实是内存中的一小块区域变量定义格式数据类型变量名=初始化值;//定义变量就是在内存中分配一块区域用来存放值,数据类型就是规定这块内存区域只能存放指定类型的值数据类型基本数据类型(四类八种)引用数据类型(类,接口,数组)基本数据类型(四类八种)浮点类型原理:float和double的范围是由指数的位数来决定的。fl...

Java基础(00)

一直没写过关于java基础的东西.这次对照着教学视频,简单写一下java基础.可以简单的复习一下,学习就算了,这篇java基础是学不到东西的.Java发展史Java之父:詹姆斯.高斯林(JamesGosling).SUN(StanfordUniversityNetwork斯坦福大学网络公司)产物.1995年5月23日,java语言诞生1998年12月JDK1.2(将Java分成了J2SE,J2EE,J2ME)2004年10月JDK1.5(改名为JavaSE5.0,JavaEE,JavaME)2009年4月20日,Oracle(甲骨文)74亿美元收购Sun.2011年7月,JavaSE7.0(Oracle收购后第一个发布的版本)J2SE可以做桌面应用程序,J2ME可以做嵌入式(已经被android开发取代),J2EE(网站开发)JDK、JRE、JVM概述java语言是跨平台的(windows,linux,mac),实现一次编写到处运行.Java开发工具包JDK(JavaDevelopmentKit)包括Java运行环境JRE(JavaRuntimeEnvironment),JRE包括JV...
IT猿 IT猿·2020-03-27

Java多线程总结

Java多线程总结       有几天未写博客了,虽然在网络上一搜Java多线程主题有许多的结果,而且有许多深入讲解Java多线程的文章,仍想自己简单总结一下多线程。      线程的生命周期是指从线程创建、运行到消亡的整个过程。线程的状态可以表明线程处于生命周期具体那一阶段。线程的状态包括:创建、就绪、运行、阻塞、死亡五个状态。       线程状态间的转化,引用一张网上的图来说明: Java多线程基本概念        Java多线程的编程主要通过几个基础类来完成的:Thread、Runnable、Object对象的wait()、notify()、notifyAll()方法、synchronized关键字以及Java5.0后引入的一些多线程工具包。    &...
IT猿 IT猿·2020-03-27

转--Android如何在java代码中设置margin

      ======== 3 1、获取按钮的LayoutParamsLinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams)button.getLayoutParams();2、在LayoutParams中设置marginlayoutParams.setMargins(100,20,10,5);//4个参数按顺序分别是左上右下3、把这个LayoutParams设置给按钮button.setLayoutParams(layoutParams); =========== 2给你写个最简单的吧,其实和XML布局是一样的。都是在LinearLayout、RelativeLayout这些布局中加控件,不同的是java代码都是new出来的对象。例子:LinearLayoutlayout=newLinearLayout(context);layout.setOrientation(Line...

转载__Java内部类

内部类是指在一个外部类的内部再定义一个类。内部类作为外部类的一个成员,并且依附于外部类而存在的。内部类可为静态,可用protected和private修饰(而外部类只能使用public和缺省的包访问权限)。内部类主要有以下几类:成员内部类、局部内部类、静态内部类、匿名内部类  为什么需要内部类?  典型的情况是,内部类继承自某个类或实现某个接口,内部类的代码操作创建其的外围类的对象。所以你可以认为内部类提供了某种进入其外围类的窗口。使用内部类最吸引人的原因是:  每个内部类都能独立地继承自一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响。如果没有内部类提供的可以继承多个具体的或抽象的类的能力,一些设计与编程问题就很难解决。从这个角度看,内部类使得多重继承的解决方案变得完整。接口解决了部分问题,而内部类有效地实现了“多重继承”。  A:成员内部类  作为外部类的一个成员存在,与外部类的属性、方法并列。publicclassOuter{privatestaticinti=1;privateintj=10;privateintk...
IT猿 IT猿·2020-03-27
首页上一页...560561562563564...下一页尾页