当前位置: 首页 > news >正文

0基础学java之Day12

面向对象

概念

现实生活:

类:抽象的概念,把具有相同特征和操作的事物归为一类

先有实体,再有类的概念

代码世界:

类:抽象的概念,把具有相同属性和方法的对象归为一类

编写顺序:先有类,再创建对象

类的作用:类相当于一个模板,刻画出具有相同属性和方法的对象

  1. 类中只有属性和方法

  2. 属性也叫做全局变量,属性分为成员变量和静态变量

  3. 方法分为成员方法和静态方法

创建一个Person类

public class Person {//属性/全局变量String name;char sex;int age;//方法public void eat(){System.out.println("猛吃!");}public void play(){System.out.println("炉石传说真好玩!");}

创建一个测试类

    public static void main(String[] args) {//创建对象Person p = new Person();//设置属性p.name="小明";p.sex='男';p.age=18;//获取属性System.out.println(p.name);System.out.println(p.sex);System.out.println(p.age);//调用方法p.eat();p.play();}

构造方法

  • 理解:与类名相同,且没有返回项的方法

  • 注意:无参构造 - 没有有参构造的情况下,系统会自动默认实现

  • 经验:如果你写了有参构造,记得把无参构造也写上

  • 作用:

  • 1.和new一起表示创建对象

  • 2.在创建对象时,对数据进行初始化

  • 需求:创建人类,再去创建人类的对象

public class Person {String name;char sex;int age;//无参构造public Person(){};//有参构造public Person(String name,char sex,int age){this.name=name;this.sex=sex;this.age=age;}public void eat(){System.out.println(this.name+"猛吃");}public void say(){System.out.println(this.name+"说炉石传说真好玩");}
public class Test01 {public static void main(String[] args) {Person p = new Person("小明",'男',23);p.eat();p.say();}

private - 私有化

含义:私有化

作用:

  1. 修饰属性:私有化属性,不能让外界使用

  2. 修饰方法:私有化方法,不能让外界使用

应用场景:不想让外界访问的属性和方法就用private修饰

public class Person {private String name;private void method01(){this.name="小泽玛利亚";System.out.println(this.name);}public void method02(){this.method01();}
public class Test01 {public static void main(String[] args) {Person p = new Person();p.method02();//通过调用public的方法间接调用private的方法}

封装

步骤:

  1. 私有化属性

  2. 添加get(获取)/set(设置)方法

好处:外界不可以直接操作属性,必须通过get、set方法操作,可以在get、set方法中做额外的功能

编写一个类的步骤:

  • 1.属性

  • 2.私有化属性

  • 3.无参构造

  • 4.有参构造

  • 5.set/get方法

  • 6.本类独有的方法

public class person {private String name;private char sex;private int age;public person() {}public person(String name, char sex, int age) {super();this.name = name;this.sex = sex;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public char getSex() {return sex;}public void setSex(char sex) {this.sex = sex;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public void eat(){System.out.println(this.name+"猛吃");}public void say(){System.out.println(this.name+"说炉石传说真好玩");}
public static void main(String[] args) {person p = new person();//设置属性p.setName("小明");p.setSex('男');p.setAge(23);//获取属性System.out.println( p.getName());System.out.println( p.getSex());System.out.println( p.getAge());}

this - 本对象

含义:代表本对象,this出现方法里,表示调用该方法的对象

作用:

  1. this.属性:调用本对象的成员变量

  2. this.方法:调用本对象的成员方法

  3. this():调用本对象的构造方法(在一个构造方法中的第一句调用另外一个构造方法)

public class Person {String name;char sex;int age;public Person(){//调用对应的构造方法this("默认姓名",'男',18);}public Person(String name, char sex, int age) {super();this.name = name;this.sex = sex;this.age = age;}public void eat(){System.out.println(this.name+"猛吃");}public void say(){System.out.println(this.name+"说炉石传说真好玩");}public void watch(){System.out.println(this.name+"看欧美大片");}public void all(){//调用前面所有的方法this.eat();this.say();this.watch();}
public class Test01 {public static void main(String[] args) {Person p = new Person();p.all();}

http://www.mrgr.cn/news/56262.html

相关文章:

  • qt/c++中成员函数返回成员变量并且可以赋值
  • 五、Shell 脚本编程:从基础至实用实例
  • EDI 810 和 EDI 820 的区别
  • 深入解析JavaScript中的箭头函数及其在React中的应用(箭头函数与传统函数的区别、如何在不同上下文中使用箭头函数)
  • 服务控制管理器
  • Idea-Maven的Setting文件盘配置
  • 二分查找_在排序数组中查找元素的第一个和最后一个位置
  • 超详细JDK安装+环境配置教程
  • vnc+wsl2试用
  • 深入浅出剖析重量级文生图模型Flux.1
  • 数据结构图的应用最小生成树-普里姆算法(C语言代码+无向网+有向网+邻接矩阵存储结构)-最低附带图片+终端输入内容方便理解
  • 【Python爬虫系列】_031.Scrapy_模拟登陆中间件
  • 让你的 IDEA 使用更流畅 | IDEA内存修改
  • 常见的加密算法的分类及其原理
  • 利用自定义 ref 实现函数防抖
  • 批量合并同名Labelme标注文件内容
  • freeRTOS中互斥锁与信号量使用?
  • vue3学习记录-v-model
  • Numpy基础02
  • 浏览器控制的无线开关
  • 【03】RabbitMQ核心功能扩展
  • LeetCode718:最长重复子数组
  • [DB] NSM
  • 在线教育(培训+考试)/企业培训-企业培训平台-企业培训平台系统-企业内部培训系统-在线教育-Java语言开发
  • 「AIGC」n8n AI Agent开源的工作流自动化工具
  • php基础:数据类型、常量、字符串