【Java笔记】Java开发实战经典 - 第五章

来源:互联网 发布:acr122u破解软件集合 编辑:程序博客网 时间:2024/05/17 01:30

===第五章 面向对象(基础篇)


面向对象的程序设计有封装性、继承性、多态性3个主要特征;类是抽象的代表共性,对象是具体的个体,属性是描述对象的信息,方法是对象的行为;类由属性和方法组成,属性就是变量,方法就是函数;public 表示公共的,加上这个修饰的类或属性,可以在同一个包或者别的包里面访问;private 表示私有的,加上这个修饰的类或属性,只能在同类里访问,同包和别的包不能访问;protected 表示保护的,加上这个修饰的类或属性,只能在类和同包访问,别的包不能访问;对象名称在栈内存中保存,对象的具体内容保存在对应的堆内存中;java.lang.ArrayIndexOutOfBoundsException: 3 数组下标越界;Exception in thread "main" java.lang.NullPointerException 使用了未实例化的对象;对象的声明和实例化是分开进行的;引用传递就是将一个堆内存空间的使用权给多个栈内存空间;一个栈内存空间只能指向一个堆内存空间;Java本身提供垃圾收集机制 GC,不定期释放对象不使用了的内存空间;类中的全部属性都要封装,只要是被封装的属性,必须通过 setter 和 getter 方法设置和取得;构造方法没有返回值;匿名对象只在堆内存中开辟空间,而不在栈内存中引用;String用"=="比较的是内容和地址;String用"str1.equals(str2)"比较的是内容;一个字符串就是一个String类的匿名对象;一个字符串已被一个名称引用,再有相同字符串声明时,不会重新开辟空间,会继续使用已经开辟好的堆内存;用new连续声明对象时最后开辟的空间有效,先开辟的都变为垃圾空间;字符串的内容一旦声明则不可改变;使用this调用构造方法必须也只能放在构造方法的首行;this调用构造方法时一定要留一个构造方法作为出口;构造方法间互相调用时一般将无参构造方法作为出口;call to this must be first statement in constructor 调用this()只能放在构造方法的首行;non-static variable name cannot be referenced from a static context 不能调用非static属性;non-static method demo() cannot be referenced from a static context 不能调用非static方法;static不能调用任何非static内容;static方法可以由类名称直接调用;System.exit(1); 直接退出程序;代码块可以分为普通代码块、构造块、静态代码块和同步代码块四种;构造块优先于构造方法执行;静态代码块优先于主方法执行,在类中定义的静态代码块优先于构造块执行;不管有多少个对象产生,静态代码块只执行一次;Demo() has private access in Demo 构造方法被私有化,无法实例化;只要将构造方法私有化,就可以控制实例化对象的产生;类的定义可以嵌套,即外部类中可以定义内部类;内部类的唯一好处就是可以方便的访问外部类中的私有属性;用static声明的内部类变成了外部类,但是用static声明的内部类不能访问非static的外部类属性;non-static variable info cannot be referenced from a static context 不能访问非static外部类属性;首先要找到外部类实例化对象,才能通过该对象实例化内部类对象;

原创粉丝点击