47.【Java 基础之面向对象】(一)

简介: 47.【Java 基础之面向对象】

(一)、面向对象:

1.概念:

面向对象是一种思想,能让复杂问题简单化,程序员不需要了解具体的实现过程,只需要指挥对象去实现功能。(类为图纸,对象为实体)

2.面向对象学什么?

1)、学习获取已有对象并使用. (l聊天,手机)

2)、学习如何自己设计对象. (不会飞,飞机)

(二)、类和对象 :

类: 是对象共同特征的描述

对象: 是真实存在的具体东西

1.类格式:

public class 类名{
  成员便零
  成员函数
  构造器
  代码块
  内部类
}

2.类对象定义的格式:

类名 类对象 =new 类名();

3.类方法的定义

修饰符 数据类型 变量名 (){};

4.类和类对象的连用

1.创建同一个包中的类:

package test;
public class Phone {    //创建类phone
String brand;
double price;
public void call() {System.out.println("打电话");}
public void playgame() {System.out.println("打游戏");}
}

2.创建类对象和引用类对象

package test;  //  包名
import java.util.Scanner;
 public class test1 {     //项目名
  public static void main(String []avgs)
  {
    Phone p=new Phone();
    p.brand="华为";    //引用数据成员
    p.price=2103;  
    p.call();          //饮用方法
    p.playgame();
  }
 }

5.总结

1.定义类的建议:

1). 类名首字母建议大写,英文、有意义。满足驼峰模式。不能用关键字,满足标识符规定;

2).一个代码中可以定义多个类,但是只能一个类是public修饰的,public修饰的类名必须是Java代码的文件名称.

eg:

2.成员的格式是什么样的,有什么特点

1).成员变量的完整定义格式是: 权限修饰符 数据类型 变量名称=初始化值;

int brand  //不加权限修饰符默认是主方法的权限

eg:

主方法:

package test;  //  包名
import java.util.Scanner;
 public class test1 {     //项目名
  public static void main(String []avgs)
  {
    Phone  p=new Phone();
    p.setBrand("华为");
    p.setPrice(2999);
    System.out.println(p.getBrand());
    System.out.println(p.getPrice());
  }
 }

类方法:

package test;
public class Phone {
  private String brand;
  private double price;
   public void setBrand(String b)
   {
     brand=b;
   }
   public String getBrand ()
   {
     return brand;
   }
   public void setPrice(double p)
   {
     price=p;
   }
   public double getPrice()
   {
     return  price;
   }
}

2).一般无需指定初始化值.

3.权限修饰符

**private 😗*权限修饰符

1)、可以用来修饰成员(成员变量和成员方法)。

2)、被private修饰的成员只能在本类中才能被访问。

3)、针对private修饰的成员变量,如果需要被其他类使用,需要提供被公有权限修饰的方法.💕

eg:

主方法:

package test;  //  包名
import java.util.Scanner;
 public class test1 {     //项目名
  public static void main(String []avgs)
  {
    Phone  p=new Phone();
    p.setBrand("华为");
    p.setPrice(2999);
    System.out.println(p.getBrand());
    System.out.println(p.getPrice());
  }
 }

调用类:

package test;
public class Phone {
  private String brand;
  private double price;
   public void setBrand(String b)
   {
     brand=b;
   }
   public String getBrand ()
   {
     return brand;
   }
   public void setPrice(double p)
   {
     price=p;
   }
   public double getPrice()
   {
     return  price;
   }
}

(三)、面向对象的三大特征:

面向对象的三个基本特征是:封装、继承、多态。封装最好理解了。

1).封装是面向对象的特征之一,是对象和类概念的主要特性

(对象代表什么,就的封装对应的数据,并提供数据的行为)

告诉我们,如何正确的设计对象的属性和方法

假如说:耗牛把吉士先生给KO了,那么请问凶手是谁呢?

答案就是:吉士先生自己ko的,法律判决书上也会写耗牛持触角把吉士先生给整死的,在这里耗牛也就是调用了吉士先生凉凉的方法。在这里对象是吉士先生,我们就的封装吉士先生的数据和行为.

2).面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展

3).多态性(polymorphisn)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。

(四)、this指针

背景:因为根据阿里巴巴JAVA开发手册,我们应该见名示意,所以我们在方法中给数据变量赋值的时候,我们应该使用和数据变量同名的变量名。但是如果使用同名变量名的话,就相当于把自己赋值给自己,就会默认为空值,达不到我们想要的结果。所以此时我们要用this指针来调用.

如果全局变量和局部变量同名的时候,局部里面的先调用局部里面的变量.

this. 同名数据变量========== 调用全局数据变量


相关文章
|
29天前
|
Java 编译器
封装,继承,多态【Java面向对象知识回顾①】
本文回顾了Java面向对象编程的三大特性:封装、继承和多态。封装通过将数据和方法结合在类中并隐藏实现细节来保护对象状态,继承允许新类扩展现有类的功能,而多态则允许对象在不同情况下表现出不同的行为,这些特性共同提高了代码的复用性、扩展性和灵活性。
封装,继承,多态【Java面向对象知识回顾①】
|
27天前
|
Java
java中面向过程和面向对象区别?
java中面向过程和面向对象区别?
29 4
|
29天前
|
Java
接口和抽象类【Java面向对象知识回顾②】
本文讨论了Java中抽象类和接口的概念与区别。抽象类是不能被实例化的类,可以包含抽象和非抽象方法,常用作其他类的基类。接口是一种纯抽象类型,只包含抽象方法和常量,不能被实例化,且实现接口的类必须实现接口中定义的所有方法。文章还比较了抽象类和接口在实现方式、方法类型、成员变量、构造方法和访问修饰符等方面的不同,并探讨了它们的使用场景。
接口和抽象类【Java面向对象知识回顾②】
|
10天前
|
存储 Java 程序员
Java基础-面向对象
Java基础-面向对象
11 0
|
1月前
|
安全 Java Go
面向对象程序设计语言:Java
Java语言语法和C语言和C++语言很接近,很容易学习和使用,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的特性,Java语言不使用指针,而是引用,并提供了自动分配和回收内存空间,使得程序员不必为内存管理而担忧
44 2
|
2月前
|
Java 数据处理 开发者
【Java基础面试十二】、说一说你对面向对象的理解
这篇文章阐述了面向对象是一种以类和对象为基础,通过封装、继承和多态等概念来模拟现实世界中的事物及其相互关系的程序设计方法,它强调以事物为中心进行思考和系统构造,与结构化程序设计相比,更符合人类的自然思维方式。
【Java基础面试十二】、说一说你对面向对象的理解
|
2月前
|
Java
【Java基础面试十三】、面向对象的三大特征是什么?
这篇文章介绍了面向对象程序设计的三大基本特征:封装、继承和多态,其中封装隐藏对象实现细节,继承实现软件复用,多态允许子类对象表现出不同的行为特征。
【Java基础面试十三】、面向对象的三大特征是什么?
|
1月前
|
Java 开发者
Java 面向对象
Java 是一种面向对象的编程语言,通过对象与类的概念组织代码和数据。面向对象编程的核心包括类、对象、继承、多态、封装和抽象。类是对象的蓝图,定义了属性和行为;对象则是类的实例。继承允许子类继承父类的属性和方法,增强代码复用性;多态则支持通过相同接口调用不同类型对象的行为,包括方法重载和重写。封装通过公共方法隐藏对象细节,提高安全性;抽象则对对象特征进行提炼,通过抽象类和接口实现。理解这些概念有助于设计高效、可维护的 Java 应用程序。
|
1月前
|
Java 开发者
Java编程之旅:探索面向对象的力量
【9月更文挑战第16天】在编程的世界中,Java以其强大的面向对象编程特性而闻名。本文将带你走进Java的世界,一起探索类与对象的奥秘,学习如何通过封装、继承和多态性构建健壮的软件系统。无论你是初学者还是有经验的开发者,本文都旨在提供实用的代码示例,帮助你提升Java技能。准备好开始这段旅程了吗?让我们启程吧!
|
2月前
|
Java 开发者 C++