声明:所有文章只作为学习笔记用,转载非原创
https://www.cnblogs.com/songhuiqiang/p/10644165.html
new出来的对象占用的是堆内存
https://bbs.csdn.net/topics/10430562
https://www.zhihu.com/question/37029880
全局变量是存在数据段的,静态的变量也是存在数据段(无论是不是全局),其他的局部变量存放在栈,所以静态的作用跟全局类似,但是作用域不同
反编译软件
https://www.zhihu.com/question/20264247?sort=created
接口和继承
抽象类,我的理解是,无法创建具体对象的类是抽象类,抽象类只是一个特殊的类,既然是JAVA中的类,那么就具有其所有的特点:继承、多态、重写重载等;
作用:
逻辑接口与实现分离,结构化;
完全解耦,向上转型;
应用:
适配器设计模式;
工厂设计模式;
implements关键字
使用 implements 关键字可以变相的使java具有多继承的特性,使用范围为类继承接口的情况,可以同时继承多个接口(接口跟接口之间采用逗号分隔)。
public interface A {
public void eat();
public void sleep();
}
public interface B {
public void show();
}
public class C implements A,B {
}
继承
继承关键字
继承可以使用 extends 和 implements 这两个关键字来实现继承,而且所有的类都是继承于 java.lang.Object,当一个类没有继承的两个关键字,则默认继承object(这个类在 java.lang 包中,所以不需要 import)祖先类。
extends关键字
在 Java 中,类的继承是单一继承,也就是说,一个子类只能拥有一个父类,所以 extends 只能继承一个类。
封装
public class EncapTest{
private String name;
private String idNum;
private int age;
public int getAge(){
return age;
}
public String getName(){
return name;
}
public String getIdNum(){
return idNum;
}
public void setAge( int newAge){
age = newAge;
}
public void setName(String newName){
name = newName;
}
public void setIdNum( String newId){
idNum = newId;
}
}
以上实例中public方法是外部类访问该类成员变量的入口。
通常情况下,这些方法被称为getter和setter方法。
因此,任何要访问类中私有成员变量的类都要通过这些getter和setter方法。
通过如下的例子说明EncapTest类的变量怎样被访问:
网友评论