
重点理解类是模板对象是模板造出来的。这是面向对象最基础的概念听不懂后面继承多态全部会懵。1.什么是类什么是对象现实举例类(class):图纸模板----汽车设计图纸只定义特征行为不是真正的汽车。对象object:根据模版制造出来实实在在实物----一台真实的宝马汽车。Java里面类用来描述同一类事物定义有什么属性成员变量、能干什么行为成员方法对象使用new 类名创建出来内存中独立存在可以存数据、调用方法。一个类可以new出来多个不同对象每个对象相互独立拥有自己的数据。组成类里面有两大成员(1).成员变量属性写在类里面方法外面。描述事物特征。(2).成员方法行为写在类中不要写static描述对象能干的事。class Person{ int age; String name; public void sayHello(){ System.out.println(你好我叫name,今年age岁); } } public class PersonDemo{ public static void main(String[] args){ Person p1new Person(); p1.namezhangsan; p1.age18; Person p2new Person(); p2.name李四; p2.age20; p1.sayHello(); p2.sayHello(); } }为什么写完实体类还要单独写一个测试类举个生活化例子类 图纸比如汽车图纸对象 根据图纸造出来的真实汽车图纸本身不能开图纸只是规定汽车长啥样、有什么功能。你必须按照图纸new出来一辆真实汽车对象才能去开车。而测试类里面放 main 方法就是用来 new 对象、调用功能跑程序的地方。2.成员变量vs局部变量(高频考点)对比成员变量局部变量定义位置类内部方法外面方法内部/方法的参数列表默认初始值有默认值int0;Stringnull等没有默认值必须赋值才能使用内存位置对象在堆内存成员跟着对象在栈内存方法调用完毕立刻消失生命周期对象存在变量就存在对象销毁才消失方法执行完立刻消失class Person{ String name; int age; public void test(){ int num100; System.out.println(num); } }3.构造方法Constuctor作用new对象的时候自动执行给成员变量做初始化赋值。构造方法硬性规则缺一不可1.方法名和类名完全一模一样大小写都要相同2.没有返回值类型连void都不能写3.创建对象new 类名(),自动调用构造不需要手动调用class Person{ String name; int age; public Person(){ System.out.println(执行无参构造) } public Person(String n,int a){ namen; agea; System.out.println(执行有参构造) } } Public class Test{ public static void main(String[]args){ Person p1new Person(); Person p2new Person(wangwu,19); System.out.println(p2.namep2.age); } }练习1.定义Phone手机类成员变量brand品牌price价格成员方法call()打印**手机正在打电话。main中new两个手机对象给属性赋值调用call方法class Phone{ String brand; double price; public void call(){ System.out.println(brand手机正在打电话) } } public class TestPhone{ public static void main(String[]args){ Phone p1new Phone(); p1.brand小米 p1.price3999; p1.call(); Phone p2new Phone(); p2.brand华为 p2.price4999; p2.call(); } }