java学习
文章平均质量分 80
Meloneating
这个作者很懒,什么都没留下…
展开
-
java之内部类
java之内部类内部类的特性内部类调用外部类内部类的使用外部类和内部内重名属性(方法)的调用文章类容选自尚硅谷,jdk8,eclipse环境。内部类的特性内部类是创建在类内的类,它有类内成员和类的两方面的属性内部类可以分为成员内部类和局部内部类成员内部类作为类的成员,就像类的属性一样,可用static关键字修饰局部内部类可以放在构造器,方法和代码块内,就像类的局部变量一样从属性来讲,一方面,它作为类内的成员可以被static关键字修饰,就像static关键字修饰属性一样被static原创 2021-03-18 19:22:34 · 108 阅读 · 0 评论 -
java之稀疏数组与二维数组的切换
java稀疏数组与二维数组的切换稀疏数组定义代码演示将二维数组转化为稀疏数组将稀疏数组转化为二维数组本文选自尚硅谷java数据结构与算法,jdk8,eclipse环境稀疏数组定义所谓稀疏数组,通常指的是一个二维数组中,其大部分元素都为0或者都为同一个数x,仅有少数几个元素与其不同,那么在内存存储的时候为了避免内存浪费,将原二维数组转换为稀疏数组来进行存储。稀疏数组将记录少数几个非零元素(或者非x的数值)的所在行,列,以及个数稀疏数组的首行是记录原二维数组的行数和列数,以及非零(或者x)元素的个数原创 2021-03-18 15:01:51 · 130 阅读 · 0 评论 -
java接口的代理模式
java的代理模式代理模式介绍示例一示例二文章内容选自尚硅谷,jdk8,eclipse环境代理模式介绍代理模式的优点之一就是安全性,以翻墙为例,在翻墙的时候用到的代理服务器,就是利用境外的服务器代替我们访问外网数据,并且不暴露我们的真实IP,暴露的是代理服务器的IP。在java实现代理模式中,假如说B来代理A,A叫做被代理类,B叫做代理类,我们要保护的是被代理类。一般是在代理类B中创建一个 接口的属性 和一个以接口为参数的构造器,利用接口的多态性,在创建代理类的时候给构造器赋被代理类的地址。示例原创 2021-03-01 09:20:45 · 1186 阅读 · 0 评论 -
java接口详解
java接口java接口简介接口内的书写形式接口被类实现接口的多实现接口的使用接口使用的多态性匿名实现类接口的非匿名实现类的非匿名对象接口的非匿名实现类的匿名对象接口的匿名实现类的非匿名对象接口的匿名实现类的匿名对象文章内容选自尚硅谷,jdk8,eclipse环境java接口简介java接口可以用来解决类的单继承问题,一般是把多个不同类共同的方法提取出来,形成一种规范、接口,只要用到了这些方法,都要调用该接口。并在实现类中重写接口定义的方法。JDK7及以前,只能定义全局常量和抽象方法全局常量:用s原创 2021-02-28 12:02:18 · 280 阅读 · 1 评论 -
java的抽象类与abstract关键字
java的抽象类abstract关键字的用法abstract关键字修饰类abstract关键字修饰方法abstract在使用上的注意点abstract练习创建抽象类的匿名子类对象匿名对象的使用非匿名类的非匿名的对象匿名子类匿名子类的匿名对象文章内容选自尚硅谷,jdk8,eclipse环境abstract关键字的用法abstract关键字可以用来修饰类和方法。abstract关键字修饰类abstract修饰的类表明该类不可实例化,要想调用类中的方法,就让该类被子类继承,通过子类来调用父类的方法。代原创 2021-02-27 17:43:33 · 265 阅读 · 0 评论 -
java的final关键字的使用
java之final关键字的使用final关键字的使用final关键字修饰类final修饰方法final修饰变量final修饰属性时显式初始化final修饰属性时代码块中初始化final修饰属性时构造器中初始化final修饰局部变量文章内容选自尚硅谷,jdk8,eclipse环境final关键字的使用final关键字可以修饰类、方法、变量final关键字修饰类final关键字修饰的类不能够被继承,比如说java标准库中的String类、System类、StringBuffer类package c原创 2021-02-27 11:51:23 · 177 阅读 · 0 评论 -
java代码块结构的使用
java代码块的使用代码块的特点代码块的用法静态代码块非静态代码块代码块的使用对属性赋值的顺序文章内容选自尚硅谷,jdk8,eclipse环境代码块的特点代码块属于类的内部成员之一,只可以用static关键字来修饰。有static的代码块叫做静态代码块。代码块的写法为一个大括号{},再在括号内写上初始化代码。代码块也叫做初始化块,一般用来给类的属性赋初值。静态代码块中的代码能够在类被加载的时候执行,非静态代码块的代码能够在对象被创建的时候执行。静态代码块中的代码只能调用静态属性和方法,不能调原创 2021-02-27 10:11:17 · 155 阅读 · 0 评论 -
java的单例设计模式
java的单例设计模式单例设计模式饿汉式设计模式懒汉式设计模式理解main方法的语法文章内容选自尚硅谷,jdk8,eclipse环境。单例设计模式单例设计模式就是java的某一类只能产生一个对象,要想实现只有一个对象,那就得把类的构造器声明为private,这样就无法从外部new多个对象了。既然不能从外部new对象,但是可以从内部类内的方法中创建对象,为了保证创建的对象只有一个,把创建对象的方法声明为静态的,目的是为了从类名调用方法。静态的方法返回一个对象,因为静态方法只能调用静态的方法和属性,同时原创 2021-02-24 11:32:48 · 573 阅读 · 0 评论 -
java的static关键字使用
java static关键字介绍static关键字修饰属性通过类名来调用静态变量静态变量的内存解析static关键字修饰方法导读:文章内容选自尚硅谷,JDK8,采用eclipse环境。static关键字修饰属性static关键字可以修饰属性、方法、代码块和内部类,修饰属性时,该属性一般为此类创建的多个对象所共有的一个属性。static修饰的属性叫做静态属性,也叫做类属性,属性会随着类被加载到方法区的时候一同被加载到方法区。其创建时间要早于此类对象所创建的时间。由于static属性是至于方法区中,原创 2021-02-18 19:41:46 · 137 阅读 · 0 评论 -
java的包装类及其转换
java的包装类包装类介绍包装类与基本数据类型、字符串之间的转换包装类与基本数据类型之间的转换基本数据类型转换成包装类包装类转换成基本数据类型自动装箱和自动拆箱包装类和基本数据类型同String类之间的转换基本数据类型、包装类转换成String类型String类型转换成基本数据类型或包装类文章内容选自尚硅谷包装类介绍java当中的基本数据类型并不是类的一种,没有方法,也没有属性,而java是面向对象的编程,如果把基本数据类型也当作类的一种,再调用类的方法和属性,则java就能充分体现面向对象的编程思想原创 2021-02-16 12:11:08 · 1203 阅读 · 1 评论 -
java的Object类的方法(equals和toString)
java的Object类的方法Object类的特性equals(Object obj)比较 运算符== 与 equals() 的区别运算符== 的运用(针对基本数据类型)运算符== 的运用(针对引用数据类型)equals方法的运用导读:文章内容选自尚硅谷,JDK8,采用eclipse开发环境,主要介绍Object类中最常用的两种方法:equals和toString方法。Object类的特性Object类没有属性Object类只有一个空参的构造器关于Object类的方法,如下图其中的部分方法原创 2021-02-14 14:17:48 · 378 阅读 · 5 评论 -
java的多态性和向下转型
java的多态性和向下转型java对象引用的详解父类的引用调用子类的属性(向下转型)instanceof关键字的用法文章内容选自尚硅谷,采用的java8环境java对象引用的详解有关java多态性的详解,可以见上一个博客 java的多态性.package com.atguigu.java4;public class Person { String name; int age; int id = 1001; public void eat(){ System.out.println原创 2021-02-10 13:05:28 · 221 阅读 · 3 评论 -
java的多态性
java的多态性java多态性的使用方法多态的使用对象的多态性不适用于属性文章内容选自尚硅谷java多态性的使用方法java的多态性的用法一般是父类的引用指向子类的对象,即在创建对象的时候,假如声明了变量p为A类型的变量,但是在new对象的时候却new的是A类型子类的对象。用法为 子类的对象赋值给父类的引用,即 A类型 变量 = new A类型的子类()多态一般用于子类重写父类方法的情况,当父类.方法(重写的方法)时候,调用的其实是子类中重写的方法,但是当我们按ctrl+点击来查找方法位置的时候原创 2021-02-09 21:22:49 · 334 阅读 · 1 评论 -
java的super关键字的使用
java的super关键字的使用super关键字的一般用法super关键字修饰方法super调用构造器文章内容选自尚硅谷super关键字的一般用法super关键字可用于可用于解决子父类出现同名属性的情况,用super关键字来声明某个属性是父类的属性。super关键字意思为“父类的”。当子父类出现同名的属性,super可声明该属性是父类的属性。假如先创建了一个Person类package com.atguigu.java3;public class Person { String na原创 2021-02-08 14:52:17 · 230 阅读 · 1 评论 -
java测试四种不同的权限修饰符
测试四种权限修饰符测试private测试protected和default测试public文章内容选自尚硅谷以前的内容没有讲解完全,现在补上,链接为 java的四种权限修饰符.测试privateprivate是类封装性的重要体现,在java中,私有方法和属性只能在类的内部调用先在com.atguigu.java2包内创建一个Order的类package com.atguigu.java2;public class Order { private int orderPrivate; in原创 2021-02-08 11:06:35 · 317 阅读 · 1 评论 -
java的重写
java的重写重写的一般用法方法重写的具体要求文章内容选自尚硅谷重写的一般用法java的重写是为了子类在继承父类方法的时候,需要用到父类的方法,但是方法体又和父类不完全一样,因此得在子类中创建一个和父类同名同参数的方法,实现方法的重写。方法的重写(override或overwrite)必须和父类同名,参数列表也相同重写后当子类调用父类的方法的时候,调用的是子类中重写的方法,而不是父类的方法。代码如下,创建一个Person类package com.atguigui.java;public原创 2021-02-06 12:52:01 · 224 阅读 · 1 评论 -
java的继承性
java的继承性java继承性用法继承性与封装性的交互继承性的特征本文选自尚硅谷java继承性用法继承性的用法为class A extends B{},其中A为子类,B为父类继承性的优点是能够减小代码的冗余子类能够继承父类的属性和方法,但是不能继承父类属性的初始化值代码如下,先创建一个Person类package com.atguigu.java;public class Person { String name; int age; public Person(){原创 2021-02-04 13:22:49 · 135 阅读 · 2 评论 -
java中this调用属性和方法
this关键字调用属性和方法this调用属性和方法this.方法this调用构造器代码分析文章内容选自尚硅谷this调用属性和方法this可以理解为当前对象的意思this可以用来修饰属性,意思为当前对象的属性java的命名原则有一条为见名知意,在方法中,如果出现了类的属性变量和类内方法形参同名的情况,一般遵循的是就近原则package com.atguigu.java2;public class PersonTest { public static void main(String[]原创 2021-02-03 12:44:54 · 2615 阅读 · 0 评论 -
java构造器
java构造器java构造器的特性本文选自尚硅谷java构造器的特性构造器用来对新建对象进行初始化的,如果没有在类中定义构造器,系统会默认创建一个构造器,如果在类中显示定义了构造器,那么系统调用构造的显示构造器。package com.atguigu.java1;/* * 类的结构之三:构造器(或构造方法、constructor)的使用 * construct:建设、建造。 construction:CCB constructor:建设者 * * 一、构造器的作用: * 1.创原创 2021-02-01 12:42:57 · 185 阅读 · 0 评论 -
java的四种权限修饰符
java的4种权限修饰符权限修饰符的介绍在同一个包下测试代码在不同的包下测试代码类的权限修饰符文章内容选自尚硅谷,采用eclipse环境权限修饰符的介绍如图所示,4种权限修饰符的使用范围为对于类的权限修饰符只能用缺省和public4种权限修饰符都可以修饰类的属性、方法、构造器、内部类。在同一个包下测试代码代码如下,先在一个包com.atguigu.java内定义一个Order的类package com.atguigu.java;public class Order { priva原创 2021-02-01 11:43:07 · 323 阅读 · 0 评论 -
java的封装性
java的封装性采用类的方法给类的属性赋值私有方法内容选自尚硅谷采用类的方法给类的属性赋值封装性有着“高内聚,低耦合”的特点,尽量不用 对象.属性 的方法给对象的属性赋值,而采用类的方法给属性赋值,因为采用对象.属性 这种外部的赋值方式,无法对赋的值进行规范,比如说package com.atguigu.java;public class AnimalTest { public static void main(String[] args) { Animal a = new Animal(原创 2021-01-30 21:41:44 · 153 阅读 · 0 评论 -
java的值传递
java的值传递值传递过程中的常见问题正确的用法内容选自尚硅谷值传递过程中的常见问题方法中的变量叫做局部变量,局部变量都存在在栈中,对于基本数据类型,栈中存的是局部变量的值,而非地址,对于引用数据类型,栈中存的是地址,属性变量放在堆中。java中,引用类型的变量只有两种值,要么是null,要么是地址值。在实参向形参赋值的时候,如果实参是基本数据类型,那么形参从实参接收到的数据就是基本数据类型的值如果实参是引用数据类型,那么形参从实参接收到的数据就是指向堆空间的地址值。在编程实现交换两个变量的值的原创 2021-01-29 23:18:49 · 116 阅读 · 0 评论 -
java方法重载
java方法重载方法重载的定义方法重载的判断重载时的自动类型提升文章内容选自尚硅谷方法重载的定义在同一个类中,允许多个同名的方法,但是同名的方法必须要求其参数列表不同遵循两同一不同的原则:两同:类相同,方法名相同一不同:参数列表不同(参数类型,参数个数)代码如下//如下的4个方法构成了重载 public void getSum(int i,int j){ System.out.println("1"); } public void getSum(double d1,doub原创 2021-01-27 11:58:37 · 177 阅读 · 0 评论 -
java匿名对象的使用
java匿名对象匿名对象的使用匿名对象的一般用法地址值的输出本文资料来源自尚硅谷匿名对象的使用package come.atguigu.java;public class InstanceTest { public static void main(String[] args){ Phone p = new Phone(); new Phone().price = 1999; new Phone().showPrice(); }}class Phone{ doub原创 2021-01-22 12:27:30 · 202 阅读 · 1 评论 -
java的内存解析
java内存解析内容选自尚硅谷如图所示,先在栈空间创建地址,该地址直接指向堆空间的变量,而堆空间才是真正存放变量的地方,栈空间仅存放地址,变量名不同,在JVM看来,会分配不同地栈空间,来存放两个不同的变量名,但两个变量名存放的是相同的地址,指向堆空间的同一处地方....原创 2021-01-21 20:50:27 · 200 阅读 · 6 评论