Java入门第二季

面向对象
对象:世间万物皆对象,所谓对象,并不是一个抽象的概念,泛指我们生活中的各式各样的事物都称之为对象。

类和对象的关系
类是抽象的概念,是对象的模板

对象是具体的事物,是类的具体实例

面向对象的编程
面向对象编程是利用编程方式体现出现实中类与对象

从已有现实的类中定义程序中的类(Class)

从类(Class)创建(实例化)具体的对象(Object)

Java创建类的语法

创建类的实例对象
类名  对象名  =  new类名();

 new关键字是创建实例对象最重要的标志

对象的命名规则
1.对象名要有直白意义,最好是英文

2.首字母小写

3.不要数字开头,不要包含特殊字符

封装
封装是指将对象的状态(属性)和方法(属性)封装在对象内部,外界无法直接访问。在Java中,使用访问修饰符(private、default、protected、public)来控制属性和方法的访问权限。

Java的权限修饰符有优先级高低之分。以下是它们的优先级顺序,从最低到最高:

private:最低的优先级,用于定义私有成员和方法。
default(没有显式使用任何修饰符):默认访问控制,用于没有显式声明访问修饰符的成员和方法。
protected:用于定义受保护的成员和方法,可以被同一个包中的任何其他类和子类访问。
public:最高的优先级,用于定义公共成员和方法,可以被任何其他类访问。

在重写或重载方法时,子类的方法不能具有比父类更严格的访问控制。例如,如果父类的方法是protected,则子类重写该方法时只能使用protected或public,不能使用private或default。

此外,在Java中,private和default修饰符不具有跨包访问性,而protected和public修饰符可以跨包访问。

例:定义一个BankAccount类,账户的余额balance属性设为private,只允许get和set方法访问。

在Java中,可以通过封装来控制对成员变量的读写访问。以下是对成员变量进行读写封装的步骤:

定义一个类,并定义成员变量。
在类中使用getter方法来读取成员变量的值。
在其他类中使用该类,并通过getter方法获取成员变量的值。如果需要修改成员变量的值,则使用setter方法。


举个例子:

多态
多态是指同一个方法在运行时可以根据对象的实际类型来执行不同的代码。在Java中,通过继承和重写实现多态。

例:定义一个Shape类作为父类,定义一个Circle类和一个Rectangle类作为子类,它们都重写了Shape类的draw方法

Java是一种面向对象的编程语言,它的基础知识包括:

类和对象:类是对象的模板,定义了对象的状态和行为。对象是类的实例,是类的具体实现。
封装:通过访问修饰符将类的属性和方法隐藏起来,外部无法直接访问,提高了代码的安全性和可维护性。
继承:通过extends关键字实现继承,子类继承了父类的属性和方法,并可以添加自己的属性和方法。
多态:通过接口和继承实现了多态,同一个方法在运行时根据对象的实际类型来执行不同的代码。
抽象类和抽象方法:抽象类不能被实例化,用于定义抽象方法,抽象方法没有具体的实现。
接口:接口是一种特殊的类,定义了抽象方法,可以被多个类实现。
关键字:Java中的关键字包括class、extends、implements、new、this、super等。
常用类和接口:Java中有很多常用的类和接口,如String、Integer、Double等,它们提供了许多方法和功能。
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/574696.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HDU1114 Piggy-Bank 完全背包

题意: 给出一个存钱罐的空罐时的质量和装了钱之后的质量,再给出一些硬币的质量和相应的价值,问存钱罐里的钱最少可能为多少。 这道题就是完全背包的问题,注意初始化。 完全背包与01背包不同的是第二次遍历的时候要顺序而已。 初始…

mysql备机写binlp_MySQL主从搭建,实现读写分离(基于docker)

一 主从配置原理mysql主从配置的流程大体如图:1)master会将变动记录到二进制日志里面;2)master有一个I/O线程将二进制日志发送到slave;3) slave有一个I/O线程把master发送的二进制写入到relay日志里面;4)slave有一个SQL线程,按照r…

前后台的验证

为什么前台后台都需要验证?客户端的js,可以屏蔽,方法有多中(浏览器里面就可以设置屏蔽js)所以,服务端也要验证,从安全性角度来讲其中隐藏域也要判断转载于:https://www.cnblogs.com/hupengyin/p…

mysql如何管理空间_管理空间的mysql数据库

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云数据库专家保驾护航,为用户…

ubuntu 开启 rewrite 模块

1.sudo a2enmod rewrite 开启Rewrite模块 (停用模块,使用 a2dismod)2. 在/etc/apache2/ 修改apache2.conf 文件中把AllowOverride none 改成All。 转载于:https://www.cnblogs.com/trey-cn/p/4382533.html

mysql 查看编码方式_Mysql查看编码方式专题

Mysql查看编码方式专题一、查看数据库的字符集show variables like character\_set\_%;输出:----------------------------------| Variable_name | Value |----------------------------------| character_set_client | latin1 || character_set_c…

jquery datatables 学习笔记

最近项目中用到了BootStrap做后台,在选择表格插件的时候发现了jquery datatables。 功能是很强大,但是网上的例子比较少。在经过一段时间的努力可算是搞出来了。 官网地址:http://www.datatables.net/ 官网上的例子比较简单,基础的…

[转]自定义ASP.NET MVC JsonResult序列化结果

本文转自:http://blog.163.com/luckcqyeah/blog/static/17174770720121293437119/ 最近项目中前台页面使用EasyUI的jQuery插件开发中遇到,EasyUI Form中的Datebox组件绑定ASP.NET MVC返回的DateTime类型的数据错误,因为ASP.NET MVC返回的Date…

c# mysql 操作_c#对mysql数据库的基本操作

1 数据库的创建打开已经安装好的数据库,如下流程:step 1:单击 “MySQL Command Line Client-Unicode”step 2:输入密码,进入数据库step 3:建立一个简单的数据库,在这里建立一个名称为“mysql_test”的数据库&#xff0…

jquery右下角自动弹出关闭层

效果体验&#xff1a;http://keleyi.com/keleyi/phtml/jqtexiao/36.htm右下角弹出层后&#xff0c;会在一定时间后自动隐藏。第一版本&#xff1a;http://www.cnblogs.com/jihua/archive/2012/10/10/youxiajiao.htmlhtml代码&#xff1a; <!DOCTYPE HTML> <html xmlns…

mysql中的double类型_MySQL中float、double、decimal三个浮点类型的区别与总结!

作者&#xff1a;极客小俊 一个专注于web技术的80后我不用拼过聪明人&#xff0c;我只需要拼过那些懒人 我就一定会超越大部分人!CSDN极客小俊&#xff0c;原创文章, B站技术分享个人博客: cnblogs.com前端htmlcssjavascript技术讨论交流群: 281499395后端phpmysqlLinux技术交流…

TIJ摘要:访问控制权限

重构的原动力之一&#xff1a;发现有更好的方式去实现相同的功能。OOP需要考虑的基本问题&#xff1a;如何把变动的事物与不变的事物区分开来。访问控制权限&#xff1a;以供类库开发人员向客户端程序员指明哪些是可用的&#xff0c;哪些是不可用的。访问控制的等级&#xff0c…

当电压放大电路的开路增益和输出电阻固定后_晶体管放大电路的性能分析与应用...

关于三极管共射极放大电路的基本分析方法(见附录1)&#xff0c;我们之前有聊过。本文重点与大家分享下电路的性能分析&#xff0c;尤其电路的频率响应与选频特性&#xff0c;还是非常有趣的。主要内容有&#xff1a;输入输出电阻通频带如何提高放大倍数1节5号电池可以放大电路吗…

移动设备和SharePoint 2013 - 第5部分:自定义应用

博客地址&#xff1a;http://blog.csdn.net/foxdave原文地址在该系列文章中&#xff0c;作者展示了SharePoint 2013最显著的新功能概观——对移动设备的支持。该系列文章&#xff1a;移动设备和SharePoint 2013 - 第1部分&#xff1a;概述移动设备和SharePoint 2013 - 第2部分&…

Leetcode 172 Factorial Trailing Zeroes

1、题目要求 Given an integer n, return the number of trailing zeroes in n!. Note: Your solution should be in logarithmic time complexity. 题目意思是求n的阶乘后面末尾0的个数&#xff0c;并且时间复杂度是对数级别。 2、分析 一个数 n 的阶乘末尾有多少个 0 取决于从…

java递归实现多级菜单栏_java利用递归调用实现树形菜单的样式

一&#xff1a;需求现有以需求就是把某一个帖子的全部评论展示出来。二&#xff1a;分析关于对帖子的评论分为主评论和子评论&#xff0c;主评论就是对帖子的直接评论&#xff0c;子评论就是对评论的评论。三&#xff1a;思路先获取某一个帖子的全部主评论&#xff0c;递归判断…

mysql in 保持顺序_IN条件结果顺序问题_MySQL

bitsCN.comIN条件结果顺序问题项目中需要记录用户的浏览历史&#xff0c;我的意见是前端直接存cookie里&#xff0c;可是前端说cookie内容太多&#xff0c;要求传递id&#xff0c;后端返回数据&#xff0c;结果就产生如下的问题。1.据前端说&#xff0c;url中的数组传递是无序的…

(部分转载,部分原创)java大数类(2)

NYOJ 773 开方数 http://acm.nyist.net/JudgeOnline/problem.php?pid773 1 import java.util.Scanner;2 3 public class Main{4 public static void main(String[] args){5 int n;6 double p;7 Scanner cin new Scanner(System.in);8 w…

mysql 分类汇总_sql多级分类汇总实现介绍

t1id parentidm an ae mf mx fy fz bt2row id amount1 a 13.002 b 20.003 e 20.004 f 20.005 x 20.006 y 20.007 z 20.008 e 12.009 x 11.0010 f 13.00如何得出如下结果&#xff1a;row id amount7 x 20.0011 x 11.00x小计 31.008 y 20.00y小计 20.006 f 20.0012 f 13.00f小计 …

Altium Designer哪里下载和导入元件库_图文教程

http://jingyan.baidu.com/article/46650658064621f549e5f88f.html转载于:https://www.cnblogs.com/Ph-one/p/4397460.html