类是模板,规划了对象应该拥有怎样的属性和方法。
类是一种抽象的概念,把具有相同属性和方法的对象归为一类。
注意:类里只有属性和方法
//创建人类
//注意:类里只有属性和方法
public class Person {//属性String name;int age;char sex;//方法public void eat(){System.out.println("吃饭饭");}public void sleep(){System.out.println("睡觉觉");}
}
对象是类的具体表现形式,我们不能操作类,但可以通过操作对象来改变类方法,比如操作属性和方法。
//测试类:测试上面写好的人类代码
//测试类必须有主方法
public class Test01 {public static void main(String[] args) {//需求:创建人类,再创建人类的对象//创建人类的对象Person p = new Person();//操作属性 -- 设置属性p.name = "倪飞";p.age = 21;p.sex = '男';//操作属性 -- 获取属性System.out.println(p.name);System.out.println(p.age);System.out.println(p.sex);//调用方法p.eat();p.sleep(); }
}
注意:测试类必须有主方法
创建对象的语法结构:
类名 对象名 = new 类名();
创建对象的步骤:
(1).创建类(属性和方法)
(2).创建对象
(3).设置/获取属性/调用方法
注意:测试类必须有主方法
总结:1.字节码只能加载一次
2.每个对象独享一份成员变量
3.方法中的this代表调用该方法的对象
成员变量是类里、方法外的变量,作用于整个类。每个对象独享一份成员变量,而且系统会为成员变量赋默认值。
(1).成员变量必须用对象调用;
(2).成员变量的作用域在整个对象;
(3).对象被GC回收后,成员变量也会被回收;
(4).创建对象时,系统会给赋默认值
整数类型:0
浮点类型:0.0
字符类型:’ '
布尔类型:false
引用类型:null
(5).成员变量必须用对象调用;
局部变量:方法里的变量,作用在该方法内,系统不会给其赋默认值。
方法被调用后,方法中的变量也会被GC立刻回收掉。
局部变量的作用域在该方法;
访问修饰符 返回值类型 方法名[参数]{
…代码块…
}
成员方法必须用对象调用;
静态方法必须用类名调用。
与类名相同并且没有返回项的方法
1.创建对象。和new一样,都是创建对象。
2.初始化数据。利用有参构造,在new对象时初始化数据。
1.没有参数的构造方法叫做无参构造;有参数的构造方法叫做有参构造;
2.如果该类没有构造方法,系统会默认实现无参构造;
3.如果该类有有参构造,系统不会默认实现无参构造;
问:与类名相同的方法一定是构造方法吗?
答:不一定
问 :构造函数必须有无参构造吗?
答:不一定
构造方法必须和类名相同且没有返回项;
普通方法必须有返回项(void或具体的返回值)。
使属性或方法私有化
修饰属性时:该属性不能被外界调用;
修饰方法时:该方法不能被外界(类以外)调用。
注意:private 不能修饰类,但可以修饰内部类
如果当前类的属性不想让外界调用,就用private修饰
如果当前类的方法不想让外界调用,就用private修饰
私有化(private)属性,不让外界直接操作属性,通过调用方法去操作属性。
1.避免直接操作属性,可以在set/get方法中做额外的功能;
2.私有化属性不让外界随便操作属性,让属性更安全;
3.通过方法去操作属性,可以添加额外的功能.
1.私有化属性
2.添加set/get方法
步骤1:编写属性,并用private私有化
步骤2:创建无参构造和有参构造
步骤3:添加get、set方法
步骤4:添加其他方法
1.为什么私有化属性?
答:不想让外界调用,考虑到数据的安全性
2.为什么添加无参构造和有参构造?
答:添加有参构造的目的是方便在创建对象时就初始化数据,但编写了有参构造,系统就不会默认实现无参构造,所以自己还要去写一个无参构造。
3.为什么添加get/set方法?
答:因为私有化属性后,使用get/set方法对外提供获取和设置的功能,还可以额外添加功能。
防止了类的重名。
一个项目中有非常多的类,得把这些类分包,不同功能的类存放在不同的包中。
工具类:com.公司名.项目名.uitl
实体类:com.公司名.项目名.vo/bean/entity
持久层的类:com.公司名.项目名.dao/mapper
服务层的类:com.公司名.项目名.service
this指本对象。
this.属性:调用本对象的属性
this.方法:调用本对象的方法
this() :调用构造方法(必须在构造方法的第一句)
注意:方法中的this代表调用该方法的对象
static表示静态的。
1.修饰属性:类属性/静态变量,直接用类名调用,该类的每个对象共享一份。
应用场景:static + final
静态变量的生命周期:
(1).在类加载到方法区时,系统会扫描该类的静态变量并存在静态区中;
(2).项目结束时,静态区中的数据才会被回收。(强引用)
2.修饰方法(静态方法)
语法结构:访问修饰符 static 返回值类型 方法名(参数){}
应用场景:工具类
注意:如果该类只是纯粹的功能,就可以把该类变为工具类,直接用类名调用静态方法即可。
3.静态代码块
作用:初始化静态变量的数据。
代码块、静态代码块、构造方法的区别:
String str1;//成员变量static String str2;//静态变量
本文发布于:2024-02-05 07:17:48,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170727189964345.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |