Java day06

类和属性

属性 = 成员变量 = field = 域、字段
方法 = 成员方法 = 函数 = method

   创建类的对象 = 类的实例化 = 实例化类

  类和对象的使用(面向对象思想落地的实现)
   1.创建类,设计类的成员
   2.创建类的对象
   3.通过”对象.属性“ 或 ”对象.方法"调用对象的结构‘
public class OOPText {
    public static void main(String[] args) {

        //创建Person类的对象(实例化一个类)
            Person p1 = new Person();

            //调用对象的结构:属性、方法
            //调用属性:"对象.属性"
            p1.name = "Tom";  //赋值
            p1.isMale = true; //赋值
            System.out.println(p1.name);//输出

            //调用方法
            p1.eat();
            p1.sleep();
            p1.talk("Chines");


    }

}


//创建类
class Person {


    //属性
    String name;
    int age =1 ;
    boolean isMale;


    //方法
    public void eat(){

        System.out.println("米饭");
        System.out.println("馒头");
        System.out.println("肉");
    }

    public void sleep(){

        System.out.println("睡觉");
    }

    public void talk(String language){

        System.out.println("人可以说话,使用的是:"+language);
    }
}

面向对象的特征

问题引入

当我们创建一个类的对象以后,我们可以通过“对象.属性”的方式,对对象的属性进行复制。这里,赋值操作要受属性数据类型和储存范围的制约。除此之外,没有其他制约条件。但是,在实际问题中,我们往往需要给属性赋值的同时加入限制条件。这个条件就不能在属性声明时体现,我们只能通过方法进行限制条件的添加。此时针对于属性就体现了封装性 当我们创建一个类的对象以后,我们可以通过“对象.属性”的方式,对对象的属性进行复制。这里,赋值操作要受属性数据类型和储存范围的制约。除此之外,没有其他制约条件。但是,在实际问题中,我们往往需要给属性赋值的同时加入限制条件。这个条件就不能在属性声明时体现,我们只能通过方法进行限制条件的添加。此时针对于属性就体现了封装性


封装性的体现
①将类的属性私有化(private),同时用公共的方法(public)来获取和设置
②不对外暴露的私有方法
③单例模式等等

四种权限修饰符

修饰符类内部同一个包不同包的子类同一个工程
privateYes
(缺省)YesYes
protectedYesYesYes
publicYesYesYesYes

对于class的权限修饰只可以用public和default(缺省)

  • public类可以在人一地方被访问
  • default类只可以在同一个包内部的类访问

属性赋值的先后顺序

①默认初始化
②显式初始化
③构造器中初始化
④通过“对象.方法” 或 “对象.属性”的方式,赋值

以上操作的先后顺序为:① - ② - ③ - ④

JavaBean

JavaBean是一种Java语言写成的可重用组件

所谓JavaBean。是指符合如下标准的Java类

  • 类是公共的
  • 有一个无参的公共的构造器
  • 有属性,且有对应的get、set方法

This关键字的使用

1.this可以用来修饰:属性、方法、构造器

2.this修饰属性和方法
this理解为:当前对象

在类的方法中,我们可以使用“this.属性” 或“this.方法”的方式,调用当前对象属性或方法。但是,通常情况下,我们都选择省略“this”。特殊的情况下,如果方法的形参和类的属性同名时,我们必须显示的使用“this.变量”的方式,表明此变量是属性。而非形参。

在类的构造器中,我们可以使用“this.属性” 或“this.方法”的方式,调用当前对象属性或方法。但是,通常情况下,我们都选择省略“this”。特殊的情况下,如果构造器的形参和类的属性同名时,我们必须显示的使用“this.变量”的方式,表明此变量是属性。而非形参。

this调用构造器
1.我们在类的构造器中,可以显示的使用“this(形参列表)"方式,调用本类中指定的其他构造器
2.构造器中不能通过“this(形参列表)”方式调用自己
3.如果一个类中有n个构造器,则最多有n-1构造器使用了“this(形参列表)”
4.规定:“this(形参列表)”必须声明在当前构造器的首行
5.构造器内部,只能声明一个“this(形参列表)”,用来调用其他构造器

package关键字的使用

1.为了更好的实现项目中的类的挂你,提供报的概念
2.使用package声明类或接口所属的包,声明在源文件的首行
3.包,属于标识符,遵顼标识符的命名规范、规范(xxx_yyy_zzz)、“见名知意”
4.每"."一次,就代表一层文件目录

同一个包下,不能明明同名的接口、类。
不同的包下,可以明明同名的接口或者说类。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值