1.面向对象的编程思想是力图使在计算机语言中对事物的描述与现实世界中该事物的
本来面目尽可能地一致。
2.类(class)和对象(object)是面向对象程序设计方法中最核心的概念
3.类是对某一事物的描述,是抽象的,概念上的定义。
类是由数据成员与函数成员封装而成的,其中数据成员表示类的属性,函数成员表示
类的行为。由此可见,类描述了类的属性和类行为
4.java语言把这种封装于类内的函数为“方法”
在Java语言中,将函数称为方法
java语言将数据成员称为域变量、属性、成员变量;而把函数成员称为成员方法,
简称为方法
类是将数据成员和方法封装在一起的一种数据结构
5.定义类其实就是定义类的属性个方法
定义类又称为声明类,一般语法为:
[类修饰符] class 类名称{
[修饰符] 数据类型 成员变量名称;
[修饰符] 返回值的数据类型 方法名(参数1,参数2,......,参数n)
{语句序列;
return [表达式];
}}
6.类修饰符:
public:将一个类声明为公共类,它可以被任何对象访问
abstract:将一个类声明为抽象类,没有实现方法,需要子类提供方法的实现
所以不能创建该类的实例
final:将一个类声明为最终类即非继承类,表示它不能被其他类继承
缺省: 缺省修饰符时,则表示只有在相同包中的对象才能使用这样的类
7.注意:一个类可以有多个修饰符,且无先后之分,但abstract和final相对独立
所以不能应用到同一个类中
8.成员变量修饰符:
public:公共访问修饰符:该变量是公共的,它可以被任何对象的方法访问
private:私有访问修饰符:变量只允许自己的类的方法访问,其他任何类中的方法
均不能访问此变量
protected:保护访问符:该变量只可以被自己的类及其子类或同一包中的其他类访问
,在子类中可以覆盖此变量
缺省:缺省访问控制符时,则表示在同一个包中其他类可以访问此成员变量,
而其他包中的类不能访问改成员变量
final:最终修饰符:此变量的值不能改变
static:静态修饰符:改变量被所有对象共享,即所有的实例都可以使用该变量
transient:过渡修饰符:是一个系统保留、暂无特别作用的临时变量
volatile:易失修饰符:该变量可以同时被几个线程控制和修改
除咯访问控制修饰符有多个以外,其他的修饰符都只有一个。
一个成员变量可以被两个以上的修饰符同时修饰,但有些修饰符是不能够
同时定义在一起的
9.在定义类的成员变量时,可以同时赋初值,表明成员变量的初始状态,
但对成员变量的操作只能放在方法中
10.成员方法:是用来定义对类的成员变量进行操作的,是实现类内部功能的机制,同时
也是类与外界进行交互的重要窗口。
[修饰符] 返回值的数据类型 方法名(参数1,参数2,参数3,...,参数n){
语句序列;
return[表达式];}
成员方法的修饰符:
public :公共访问修饰符:该方法是公共的,可以被任何对象的方法访问
private:私有访问修饰符:该方法只允许自己类的方法访问,其他类(包括子类)
中的方法均不能访问此方法
protected:保护访问控制符:该方法只可以被它的类及子类或同一包中的其他类访问
缺省:同一包中的其他类可以访问此成员方法,而其他包中的类不能访问该成员方法
final:最终修饰符:该方法不能被覆盖
static:静态修饰符:不需要实例化一个对象就可以调用的方法
abstract:抽象类修饰符:该方法只声明方法头,而没有方法体,抽象方法需要
在子类中实现
synchronized :同步修饰符:在多线程程序中该修饰符用于对同步资料加锁,以防止
其他线程访问,运行结束后解锁;
native:本地修饰符:此方法的方法体是用其他语言(C语言)在程序外部编写的
11.成员变量与局部变量的区别:
类中定义的变量是成员变量,而方法中定义的变量是局部变量
1)从语法形式来看,成员变量属于类,而局部变量是在方法中定义的变量或是方法
的参数:成员变量可以被public,private,static等修饰符所修饰,而局部变量则不能
被访问控制修饰符及static所修饰;成员变量和局部变量都可以被final所修饰
2)从变量在内存中存储方式上看,成员变量是对象的一部分,而对象是存于堆内存的
局部变量是存于栈内存的
3)从变量在内存的生存时间上看,成员变量是对象的一部分,它随着对象的创建而存在,
而局部变量随着方法的调用而产生,随着方法调用的结束而自动消失
4)成员变量如果没有被赋初值,则会自动以类型的默认值赋值(有一种情况例外,
被final修饰但没有被static修饰的成员变量必须显示地赋值);而局部变量则不会
自动复制,必须显示地赋值后才能使用
12.创建类的对象:两个步骤:
1)声明指向“由类所创建的对象”的变量;
2)利用new运算符创建心得对象,并指派给前面所创建的变量
例如:Cylinder volu;//声明指向对象的变量volu
volu = new Cylinder();//利用new创建新的对象,并让变量volu指向他
也可合并Cylinder volu =new Cylinder();
13.对象的使用:
对象.对象成员 
14.如果要强调对象本身的成员,则可以在成员名前加this关键字,即this.成员名
此时this即代表调用此成员的对象
15.参数的传递:
调用方法并传递参数时,参数其实就是方法的自变量,所以参数要放在方法的括号内来
进行传递,括号内的参数可以是数值型,字符串型,甚至是对象
16.若通过方法调用,将外部传入的参数赋值给类的成员变量,方法的形式参数与类的成员变量
同名时,则需要用this关键字来表示成员变量。形式参数是方法内部的局部变量,
所以当成员变量与方法中的局部变量同名时,在方法内对同名变量的访问是指那个局部变量。
所以当特指成员变量时,要用this关键字。简单说就是要给方法外面的同名变量前面加
this同名变量.
17.数组作参数或返回值的方法调用

四月十二号java基础知识的更多相关文章

  1. 二十二、Java基础--------GUI入门

    在java学习过程中GUI是一个比较特殊的知识体系(笔者对安卓不是很了解),似乎在为安卓的学习做着准备,本文将将展示一个综合案例. 创建一个类似于记事本的程序,包含打开与保存功能. package G ...

  2. 十二、Java基础---------异常处理机制

    异常 异常 异常就是程序在运行时产生的异常情况. 异常的由来 问题也是现实生活中的具体事物,也可以通过java 类的形式进行描述,并封装成对象.异常就是java 对不正常情况进行描述后的对象的体现. ...

  3. 沉淀,再出发:Java基础知识汇总

    沉淀,再出发:Java基础知识汇总 一.前言 不管走得多远,基础知识是最重要的,这些知识就是建造一座座高楼大厦的基石和钢筋水泥.对于Java这门包含了编程方方面面的语言,有着太多的基础知识了,从最初的 ...

  4. 生活点滴:java基础知识细化

    生活点滴:java基础知识细化 一.前言 越是对一门语言深入了解,就会发现自己不知道的东西越多,这才是走向了正道,同样的,对于java语言特性的学习,笔者也只是初窥门径. 二.java基础知识思考 i ...

  5. java基础知识一览(二)

    一.java基础知识 1.一个文件中只能有一个public的类,因为他的类名要求和文件名相同. 2.classpath变量可以设置其它目录下的类. 例如:类文件所在目录是:F:\Javajdk,那么没 ...

  6. java 基础知识二 基本类型与运算符

    java  基础知识二 基本类型与运算符 1.标识符 定义:为类.方法.变量起的名称 由大小写字母.数字.下划线(_)和美元符号($)组成,同时不能以数字开头 2.关键字 java语言保留特殊含义或者 ...

  7. 第二十九节:Java基础知识-类,多态,Object,数组和字符串

    前言 Java基础知识-类,多态,Object,数组和字符串,回顾,继承,类的多态性,多态,向上转型和向下转型,Object,数组,多维数组,字符串,字符串比较. 回顾 类的定义格式: [类的修饰符] ...

  8. java基础知识小总结【转】

    java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...

  9. Java 基础知识总结

    作者QQ:1095737364    QQ群:123300273     欢迎加入! 1.数据类型:  数据类型:1>.基本数据类型:1).数值型: 1}.整型类型(byte  8位   (by ...

  10. Java基础知识总结(超级经典)

    Java基础知识总结(超级经典) 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java ...

随机推荐

  1. api接口基础Day2

    精华笔记: 正则表达式: 用于描述字符串的内容格式,使用它通常用于匹配一个字符串是否符合格式要求 正则表达式的语法:-------------了解.不用纠结.不用深入研究 1.[]:表示一个字符,该字 ...

  2. Unity学习笔记——坐标转换(3)

    通过Transform.Translate移动物体         6个重载:         public void Translate(float x, float y, float z, [De ...

  3. Rfost的自我介绍+软工五问

    自我介绍+软工五问 问题 解答 这个作业属于哪个课程 网工1934-软件工程 这个作业要求在哪里 作业要求 这个作业的目标 让学生对软件工程有个初步的了解,同时掌握基础的markdown语法和博客园的 ...

  4. canal对接阿里云kafka

    一.前提条件 已经有mysql实例 自建或者云上都可以 已经在阿里云的kakfa创建topic 默认不自动创建topic 二.配置要监控的instance 先修改example的配置文件 conf/e ...

  5. 《Unix/Linux系统编程》第八周学习笔记

    <Unix/Linux系统编程>第八周学习笔记 时钟服务函数 gettimeodfay() 获取系统时间 settimeofday() 设置系统时间 time() 以秒为单位返回当前时间 ...

  6. Linux挂载U盘报错:mount: unknown filesystem type 'ntfs'

    原因:由于Linux上无法识别NTFS格式的分区的原因 解决方法:安装 ntfs-3g 1.下载:wget https://tuxera.com/opensource/ntfs-3g_ntfsprog ...

  7. C#截取字符串的方法

    #region 得到字符串的长度    /// <summary>    /// 得到字符串的长度    /// </summary>    /// <param nam ...

  8. C#重点语法——特性

    特性的基本理解 ************************************************************************************* 一.含义 特 ...

  9. mybatis-plus获取对象的某一个属性list--->List<String>

    获取List<String> name new QueryWrapper<对象>().eq("**","**")).stream().m ...

  10. debian 系统中安装中文输入法

    debian wiki 中关于此主题的文档 :https://wiki.debian.org/InputMethodBuster 在图形界面选择 gnome,输入法程序选择 ibus 的情况下,配置较 ...