java基础
0512wilian
哀莫过于心不死
展开
-
为什么java没有多继承
为什么 Java 语言只支持单继承,不支持多继承,支持多层继承主要是是因为,当你的父类中定义了相同功能而内容不同时,子类不清楚去继承那一个父类,这样就容易出现安全隐患原创 2017-01-04 22:03:44 · 876 阅读 · 0 评论 -
join(long)和sleep(long)
join(long)和sleep(long)都是设定long时间之后执行后面代码,效果没有很大的区别主要在于它们的实现方法上面,join方法在内部使用了wait(long)方法来实现的,所以join方法具有释放锁的特点。而sleep方法却不释放锁。原创 2018-01-04 22:21:46 · 462 阅读 · 0 评论 -
成员变量和静态变量的区别
1内存中的位置不同成员变量存储在堆内存静态变量存储在方法区中的静态区2内存出现的时间不同成员变量随对象的创建而存在,随对象的消失而消失静态变量随类的加载而加载,随类消失而消失3所属不同成员变量属于对象,所以也叫对象变量(实例变量)静态变量属于类,所以也叫类变量4调用方式不同成员变量通过对象名调用静态变量可以通过对象名调用,也可以通过类名调用原创 2017-10-03 13:08:18 · 282 阅读 · 0 评论 -
java中局部变量和成员变量的区别
1.1内存位置成员变量在堆内存(成员变量属于对象,对象是存在堆内存中)局部变量在栈内存(局部方法属于方法,方法存在栈内存中)1.2生命周期成员变量的生命周期由对象决定,对象被创建,则开始存在,对象消失时也就消失局部变量的生命周期由方法是否调用觉得,调用则存在,调用结束则消失1.3类中的位置成员变量在类中的方法外局部变量在类中的方法内1.4初始值的差异成员变量原创 2017-10-02 21:20:17 · 352 阅读 · 0 评论 -
java 中的main方法
java中的main方法是程序的入口从而可以看出main不是java中的关键字,如果是关键字,那么就不能作为方法名了public static void main (String[] args){}上面除了args这个参数可以修改之后,main方法的其他修饰符是不能修改,如果修改了,程序无法找到入口public static void main 都是被JVM识别调用原创 2017-10-02 20:18:15 · 2011 阅读 · 0 评论 -
static关键字
1.static关键字的特点 a.随着类的加载而加载 b.优先于对象的存在 c.被类的所有对象共享 这也就说明了,如果某个成员变量是被成员所有对象共享的,那么它应该被定义为静态的 d.可以通过类名调用既可以通过对象调用,也可以用类名调用(推荐)2.static的注意事项 a:在静态方法中是没有this关键字的 静态是随着类的加载而加载,this是随原创 2017-10-01 23:27:26 · 212 阅读 · 0 评论 -
内部类获取外部类的成员变量
在内部类里面使用外部类的成员变量,不能使用super关键字,因为这个是继承才用的关键字可以使用 外部类类名.this.变量名 的形式获取示例:class Outer {public int num = 1;class Inner {public int num = 2;public void show() {int num = 3;Syste原创 2017-10-07 15:06:24 · 3327 阅读 · 0 评论 -
java 中的多态
叙述: 事物存在的多种形态(物体可以是三角形的,也可以是长方形的等等)判断是否是多态的前提: 1:要有继承关系。 2:要有方法重写。 3:要有父类引用指向子类对象 对于第3点,比如现在有一个Person类,Student类继承Person类,那么 Person p = new Student();就是父类引用指向子类对象原创 2017-10-06 23:20:05 · 158 阅读 · 0 评论 -
java中如何实例化内部类
publicClass是外部类,PrivateClass是内置类,如果需要实例化内置类,那么就要使用下面的代码PrivateClass privateClass = publicClass.new PrivateClass();原创 2017-09-24 23:33:26 · 501 阅读 · 0 评论 -
foreach循环
foreach是java8的新功能语法:for(type avriableName ; array|collection){//variableName自动迭代访问每个元素。。。} 例:String books[]={"1","4","3","6"};for(String book : books){System.out.println(book原创 2017-05-22 16:19:22 · 242 阅读 · 0 评论 -
三元运算和if ,else语句
简单来说,三元运算符就是if else的简写形式,也是一种判断方式,只不过,三元运算用于一般的数值类的判断,没法像if else语句这样,可以在里面加打印之类的语句比如说if(aSystem.out.println(classInfo.name());}else{System.out.println(a);}原创 2017-01-13 10:47:24 · 1523 阅读 · 0 评论 -
java数据类型
在java里面,数据类型主要分为两大类,基本数据类型和引用数据类在基本数据类型里面,分为3类8种,1、逻辑型 ( boolean)2、字符型 (char)3、数值型 (byte short int long float double )引用类型有1、类 (class)2、接口 (interface)3、数组 (array)引用类型的记录其引用对象的地址,大原创 2017-01-12 13:30:00 · 225 阅读 · 0 评论 -
continue和break的区别
continue是结束本次循环,还会进行下一次的循环,而break是跳出所在的当前循环continue只是用在循环语句里面,break除了循环语句,还有switch语句原创 2017-01-15 13:18:25 · 245 阅读 · 0 评论 -
java继承和c++继承的区别
在c++里面,一个子类是可以继承多个父类的在java里面,一个子类只能继承一个父类,但是可以多层继承原创 2016-12-31 22:32:52 · 697 阅读 · 0 评论 -
java重载
重载首先要求函数名一样,然后在java里面,函数重载包括下面几点1、参数个数不一样2、参数类型不一样比如说一个函数为void test(int a,char b){}那么void test(char b){} 就是参数个数不同的重载函数void test(double a,char b){} 就是参数类型不一样的重载函数另外:重载和函数的返原创 2016-12-31 22:30:22 · 911 阅读 · 0 评论 -
javascript数组和java数组的区别
javascript的数组在定义数组长度时,只是为了开辟存储空间,但你存入的内容大于一开始开辟的空间时,javascript会自动增加存储空间,不会报错。java在一开始定义了长度之后,如果存入的内容超过了一开始的存储空间之后,就会溢出.,是会报错的。原创 2016-12-25 14:50:34 · 523 阅读 · 0 评论 -
java里面的方法重写和重载的区别
在java里面,重载在于同名函数的参数列表,参数个数和参数类型不同时,都是重载原函数:void show(int a ,int b){ return a+b;}重载举例:void show(int a ,double b){ return a+b;}在java里面,方法重写的前提是类的继承,子类和父类的方法是一模一样的,方法里面的代码可以不改,有新需原创 2017-01-04 22:08:49 · 292 阅读 · 0 评论 -
&&和&,||和|
Java中逻辑运算符----与运算(and)包含&&(短路与)和&(不短路与)与运算是要求运算符两边的判断都为true才为真短路与&&中的短路表示当 &&运算符左边的判断为false的时候,就不再去判断运算符右边的判断实例如下:另外:|| 表示短路或,| 表示不短路或或运算只要一个为true,那么结果就为true...原创 2018-03-13 21:17:07 · 5683 阅读 · 0 评论