Java中访问修饰符public.private.protecte.default的意义讲解:public: Java语言中访问限制最宽的修饰符,一般称之为“公共的”.被其修饰的类.属性以及方法不 仅可以跨类访问,而且允许跨包(package)访问.private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”.被其修饰的类.属性以 及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问.protect: 介于public 和 private 之间的一种访问修饰符,一…
//Java中的继承和组合之间的联系和区别 //本例是继承 class Animal { private void beat() { System.out.println("心胀跳动..."); } public void breath() { beat(); System.out.println("吸一口气,吐一口气,呼吸中..."); } } //继承Animal,直接复用父类的breath()方法 class Bird extends Animal { pub…
今天舍友突然问我"在java中 a+=b 和a=a+b 有什么区别",说这是一道面试题.当时就不假思索的回答:"一样啊",然后他说有位面试者也回答说一样,所以被淘汰了.当时感觉很惊奇,书上写的就是一样,怎么会?于是就查了一下,并且自己到eclipse中试了一下,原来他们之间还真的有区别. 在java语言中,a+=b和a=a+b的主要区别是在运算的精度上.类似的有"-= . *= ./= .%= ",这里以a+=b 与 a=a+b 举例说明一下.…
1.super()和this()区别: super():调用父类无形参的构造方法: super(形参):调用父类中某个带形参的构造方法: this(形参):调用本类中另一种形式的构造方法: 注意:放在方法的首行: 2.super和this的区别: super.父类的成员变量: super.父类的方法: super:当子类中的成员变量.方法和父类的相同时,实现调用父类的成员变量和方法: this:代表当前的对象: 使用的地方:若函数的形参和成员变量同名时,需要用this.成员变量名 原文出处: s…
package extend; public class X { Y y=new Y(); static{  System.out.println("tttt"); } X(){  System.out.println("X"); }  public static void main(String[] args) {    new Z(); }} class Y{ Y(){  System.out.println("Y"); }} class Z…
当一个方法或者变量需要初始化加载,或者是经常被调用的时候可以加上static.用static修饰的方法可以用类名直接调用,不用的一定要先实例化一个对象然后才可以调用比如 person这个类里面有一个方法public static add(){}那么可以直接用person类调用 person.add();当然也可以用下面的方法先出一个对象在调用也是可以如果这个方法前面没有static 比如 public add(){}那么先要person p=new person();然后用p.add();类加载…
直接上代码,更直观,包括一些解释: /** * 类初始化时,首先加载静态代码块, * 注意:所有静态代码块都会在方法之前执行,不管放置的位置:但是静态代码块按照顺序执行 * 再次执行调用的方法 */ public class StaticClass { static Integer num=0; private StaticClass(){}; //初始化类时,先加载静态代码块 static{ try { num+=5; System.out.println("静态static方法11111!!…
1.关键字可以修饰的说明: 关键字 属性(是否可修饰) 方法(是否可修饰) 类(是否可修饰) static 是 是 是 final 是 是 是 abstract 否 是 是 2.关键字的意义: 关键字 意义 具体特性说明 被继承的话,会有什么后果? static 表示属于该类. 1. 修饰变量:属于该类2. 修饰方法:子类可覆盖为static,但不可覆盖为非static.3. 修饰类:属于该类 见下面详细的补充说明 final 表示一旦赋值不能改变. 1. 修饰变量:一旦赋值不能改变:2. 修饰…
Java中线程的创建有两种方式: 1.  通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中 2.  通过实现Runnable接口,实例化Thread类 在实际应用中,我们经常用到多线程,如车站的售票系统,车站的各个售票口相当于各个线程.当我们做这个系统的时候可能会想到两种方式来实现,继承Thread类或实现Runnable接口,现在看一下这两种方式实现的两种结果. package com.threadtest; class MyThread extends Th…
1. Java中线程的创建有两种方式:  (1)通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中. (2)通过实现Runnable接口,实例化Thread类. 2. 在实际应用中,我们经常用到多线程,如车站的售票系统,车站的各个售票口相当于各个线程.当我们做这个系统的时候可能会想到两种方式来实现,继承Thread类或实现Runnable接口,现在看一下这两种方式实现的两种结果. 继承thread类 package com.threadtest; class My…