面向对象的特点主要可以概括为封装性、继承性和多态性。
面向对象提出了两个概念,即类和对象,在java程序中类和对象是最基本、最重要的单元。类表示某类群体的一些基本特征抽象,对象表示一个个具体的事物。
类的定义格式:
1 2 3 4 | public class 类名 { //成员变量; //成员方法; } |
注意:1、class是类名,需要小写。
2、类名要符合标识符的命名规则和命名规定。
3、类名尽量用有意义的英文单词(方便区分)。
那我们就用一个学生类来做一个示例:(其中包括姓名name和年龄age还有sex是成员变量,read()是成员方法)
1 2 3 4 5 6 7 8 9 10 | public class student { String name; //定义String类型的变量name int age; //定义int类型的变量age String sex; //定义string类型的变量sex //定义read()方法 void read() { System.out.println( "大家好,我是" +name+ ",我在看书!" ); } } |
在java中,定义在类中的变量称为成员变量,定义在方法中的变量称为局部变量。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | package java; public class student { String name; //定义String类型的变量name int age= 30 ; //定义int类型的变量age;类中的变量称为成员变量 String sex; //定义string类型的变量sex //定义read()方法 void read() { int age= 50 ; //方法内部定义的变量称为局部变量 System.out.println( "大家好,我今年" +age+ "岁,我在看书!" ); } public static void main(String[] args) { student s= new student(); s.read(); } } |
用new关键字创建对象的具体格式:
类名 对象名称=null;
对象名称=new类名();
对象名称.属性名
对象名称.方法名
对象是类的实例,类是对象的模板;
类是抽象的,对象是具体的。
我们以两辆小汽车为例:

封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
好处有:1.将变化隔离 2.便于使用 3.提高重用性 4.提高安全性
原则:1.将不需要对外提供的内容都隐藏起来 2.把属性都隐藏,提供公共方法对其访问。
我们可以用private将age变量隐藏起来
将年龄age私有化以后,在这个类以外(PersonTest类)即使建立了对象也不能直接访问。但是人应该有年龄,就需要在Person类中提供age对应的访问方式,创建一个方法。Java中一般对于私有的属性都会以“get/set”为前缀定义方法名,对其进行访问。
构造方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | package com.sdbi.ljh; class Person { private String name; // 定义String类型的变量name private int age; // 定义int类型的变量age Person() {} Person(String n) { name = n; } Person(String n, int a) { name= n; age = a; } // 定义speak() 方法 void speak() { System.out.println( "大家好,我是" + name + ",我今年" + age + "岁!" ); } } class PersonTest { public static void main(String[] args) { Person p1 = new Person(); p1.speak(); Person p2 = new Person( "张三" ); p2.speak(); Person p3 = new Person( "李四" , 18 ); p3.speak();} } |
this关键字的作用:
1、使用this关键字调用本类中的属性,调用成员方法,调用本类的方法。
需要注意:
只能在构造方法中使用this调用其他构造方法,不能在成员方法中通过this调用其他构造方法;
在构造方法中,使用this调用构造方法的语句必须位于第一行,且只能出现一次;
不能在一个类的两个构造方法中使用this互相调用。
java的四种访问控制权限:public、protected、default、private
(1) private: 属于私有访问权限,用于修饰类的属性和方法。
(2) default: 属于默认访问权限。如果一个类中的属性或方法没有任何的访问权限声明,则该属性或方法就是默认的访问权限。
(3)protected:属于受保护的访问权限。一个类中的成员使用了protected 访问权限,则只能被本包及不同包的子类访问。
(4) public: 属于公共访问权限。如果 个类中的成员使用了 pubie 访问权限,则该成员可以在所有类中被访问,不管是否在同一包中。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具