day03--面向对象--Demo
来源:互联网 发布:探索者软件与revit 编辑:程序博客网 时间:2024/05/19 05:38
package day03;/* * 类的定义格式: * clsss 类名{ * 声明成员变量; * 声明成员方法; * } * * 类的命名规范: * 1.第一个字母要大写 * 2.见名知意,名字有一定的意义,Student,Person,Car * 3.具有一定功能性的描述,如OrderService,StudentManager * */public class Demo01 { public static void main(String[] args) { // 通过new 关键字创建对象 Car car = new Car(); car.name = "benz"; car.run();// 通过类的对象,调用类的成员方法 }}class Car { // 声明汽车类 String name; public void run() { // 开汽车 System.out.println("正在驾驶" + name); }}
package day03;/* * 局部变量与成员变量的区别 * 局部变量:随着方法入栈初始化,随着方法出栈而消失 * 成员变量:随着对象的初始化创建,随着对象的回收而消失 */public class Demo2 { public static void main(String[] args) { Person person = new Person(); person.name = "disen"; person.age = 30; person.say(); //System.gc(); person = null;// person指向的堆内存可以被垃圾回收器(GC)回收 }}class Person { String name; int age; public void say() { int id = 1001; System.out.println(id + "-->" + name + "," + age); }}
package day03;/* * Java面向对象的三大特征:封装、继承、多态 * * 封装:向外部提供有用的成员(属性、方法) * * 成员四个访问权限: * private 私有的,只能在类的内部访问 *[default] 默认的,可以在同一个包下访问 * protected 受保护的,可以在类的内部和子类中访问 * public 公有的,可以在任一地方访问 * * this:指向当前类对象,当出现局部变量与成员变量重名时, * 需要使用this来访问成员变量 */class Student {// 数据实体类 private String name;// 默认值为null private int age;// 默认值为0 String sex="男"; // 方法名的命名方式为驼峰命名方法(setXxx,getXxx) public void setName(String name) { this.name = name;// this.name代表的是成员变量 } public String getName() { return name; } public void setAge(int age) { this.age = age; } public int getAge() { return age; } public String toString() { return "[name=" + name + ",age=" + age + ",sex=" + sex + "]"; }}public class Demo3 { public static void main(String[] args) { Student stu = new Student(); stu.setName("张三"); stu.sex="女"; stu.setAge(30); System.out.println("Student:"+stu); }}
package day03;/* * 构造方法:初始化成员变量 * * 命名:类名,且无返回值 * * 注意: * 1.构造方法只能用于初始化对象,不能被对象调用,或类的成员方法中调用 * 2.默认构造方法为无参的,也是隐式构造方法 * 3.可以提供有参的构造方法,但会覆盖默认的构造方法 * 在初始化时,必须显示使用构造方法 * 4.两个构造方法之间可以相互调用,使用this()方式调用,但必须在第一行 */class Animal {// 动物类 private String name; public Animal() {// 无参的方法 this("kit");// 调用有参的构造方法,必须在第一行 // name = "kit"; } public Animal(String name) { // 带有参数的构造方法,默认情况下会覆盖无参的构造方法 this.name = name; } public void sayHello() { System.out.println("大家好,我是Animal,我叫" + name); }}public class Demo4 { public static void main(String[] args) { Animal kit = new Animal(); kit.sayHello(); Animal tom = new Animal("Tom"); tom.sayHello(); // 匿名对象,不存在一个引用指向这个对象 new Animal("Haha").sayHello();// 当执行完成后.对象空间可以被垃圾回收器回收 }}
0 0
- day03--面向对象--Demo
- Java-day03面向对象
- 传智播客-Java面向对象-day03
- JAVA-day03-面向对象start
- day03--面向对象---final关键字
- day03--面向对象--abstract关键字
- day03--面向对象--interface接口
- day03-面向对象【接口、多态】
- day03--面向对象--类的继承
- perl 面向对象demo
- js 面向对象Demo
- day03--面向对象--设计模式之单例模式
- 多线程demo-ThreadLocal面向对象的封装
- 面向对象Matlab编程小demo
- 回顾面向对象-选项卡demo
- 面向过程和面向对象demo
- day03-Dao数据访问对象
- C++Day03 类和对象
- 2012年5月SAT香港真题解析
- 网站防刷方案
- 用SQLYog导出导入数据所遇到的问题
- 亲友团问题
- WPF 拓扑图 Topographies
- day03--面向对象--Demo
- HTTP响应状态码大全
- Couple Number
- JAVA 获取系统路径
- 2012年5月SAT香港真题解析
- CODE[VS] 1116 四色问题
- css中的hack技术
- swift 基本文件读写
- org.apache.mina.core.RuntimeIoException: Failed to get the session 异常可能出现的原因