java学习02(面向对象基础)

1.对象可以简单认识成一个内存块,一个区域。

2.内存分为:栈内存,堆内存,方法区(堆的一部分,包括类的信息,静态方法,静态变量,字符串常量),这点对理解很多东西都很有用

3.包先简单理解成一个文件夹(域名倒着写)

4.面向对象:

继承:

类只能单继承,接口才可以多继承

子类构造函数调用前默认会调用super(),调用父类的构造函数

子类重写父类的方法遵循的原则:

方法名,参数列表要相同
    返回值类型与申明异常类型,子类要小于父类
    访问权限子类大于等于父类

封装:

原则:高内聚,低耦合(内部多复杂,外部使用很简单方便)   
    访问修饰符:default    protect    public    private
    default (即缺省,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。
    private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)
    public : 对所有类可见。使用对象:类、接口、变量、方法
    protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)。

一些小原则:
    类的属性:private(别人想访问,给你set和get方法,方法里可以写业务逻辑,完成高内聚)
    方法还是public为主。

多态:
    1.方法的多态,不是属性的多态
    2.多态的三个必要条件:继承,方法重写,父类引用指向子类对象(这个需要好好理解)

向上自动转型,向下强制转型

final变量经常和static关键字一起使用,作为常量。下面是final变量的例子:
public static final String LOAN = "loan";

final也可以声明方法。方法前面加上final关键字,代表这个方法不可以被子类的方法重写。

如果你认为一个方法的功能已经足够完整了,子类中不需要改变的话,你可以声明此方法为final。

接口是比抽象类更抽象的东西,抽象类里还有一些具体实现,接口从不实现。
  接口可以理解成两个模块之间的通信标准,
  接口和实现类之间不是父子关系,而是实现规则的关系,例如我有一个run的接口,cat实现了,就能跑,train实现了也能跑
  体现了如果你是,你就一定能
  抽象类体现了你有什么,接口体现了你能干什么
  java中类只能单继承,接口可以多继承.

内部类:(开发时用的不多,面试前多看看)

数组拷贝
    System.arraycopy(a, 1, b, 1, 3); a数组从1下标开始,b从1开始接收,拷贝3个数据
    通过arraycopy实现自己拷贝自己从而删除一个元素,插入一个元素(明天自己实现下,删除与插入)
    强大又常用的两个数据类型:String array,内部都有很多方法
    array的tostirng

二维数组:每一个元素是数组,int[][] a=new int[3][]    为什么不指定第二个,是不确定的,未必是一样的,
    二维数组用的不多,后面一般用容器
    通过object二维数组可以存一个类似于表格的混合数据。
    有需要定义一组常量时定义枚举,但是用处不大其实
---------------------
作者:彩笔梳子
来源:CSDN
原文:https://blog.csdn.net/qq_29637191/article/details/83789561
版权声明:本文为博主原创文章,转载请附上博文链接!

原文地址:https://www.cnblogs.com/CszShuzi/p/9916290.html

时间: 2024-07-29 15:04:51

java学习02(面向对象基础)的相关文章

Java学习 · 初识 面向对象基础一

面向对象基础 1.1面向过程与面向对象的区别 面向过程和面向对象二者都是思考问题的方式,再简单的事物时,可以线性思考时使用面向过程,但当事物较为复杂时,只能使用面向对象设计.但二者并不是对立的,在解决复杂问题时,通过面向对象的方式把握事物之间复杂的关系,方便分析整个系统:具体到微观时,仍然使用面向过程设计. 以开车为例,面向过程中思考 有一辆车 驾驶员上车 挂挡踩离合 车开动 而面向对象中思考 有车.驾驶员这两个个对象 车拥有挂挡离合这几个方法(还拥有属性,如性能外观) 人拥有挂挡踩离合这几个方

Java学习 · 初识 面向对象基础二

Package 为什么需要使用package a)   解决类重名的问题 b)   便于管理类 怎么使用package a)   类的第一句非注释性语句 b)   命名:域名倒着写,再加上模块名 注意事项 a)   不要使用默认包 JDK主要包 Import 1.为什么需要使用包 2.import怎么使用 3.注意事项 4.静态导入 原文地址:https://www.cnblogs.com/secoding/p/9495903.html

Java学习02

昨天学了一天Java,今天来回忆总结一下. Java是一门面向对象的语言,与C++有很多地方都很相似. Java的特点: 1.取消了指针,用引用代替 2.有垃圾自动回收机制,程序员不需要手动管理内存 3.跨平台性(JVM) 昨天主要从最基础的开始学,学习了变量,操作符,语句结构.下面用程序来回顾一下. 1 /* 2 测试4种进制 3 1.二进制 4 2.十进制 5 3.八进制 0开头 6 4.十六进制 0x开头 7 */ 8 9 //当class声明为public时文件名必须为类名一样 10 p

JAVA学习篇--JSTL基础

JSTL是什么 JSTL(JSP Standard TagLibrary,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库. 为什么要用JSTL 我们JSP用于开发信息展现页非常方便;也可以嵌入java代码(scriptlet.表达式和声明)代码用来实现相关逻辑控制.看下面程序.但这样做会带来如下问题: jsp维护难度增加;出错提示不明确,不容易调试; 分工不明确;(即jsp开发者是美工,也是程序员); 最终增加程序的开发成本; <% if (session.getAttribute(

大话设计模式学习笔记——面向对象基础

前言 好记性不如烂"笔头"系列--大话设计模式学习笔记 目录 面向对象基础 面向对象基础 什么是类与实例 一切事物皆为对象,即所有的东西老师对象,对象就是可以看到.感觉到.听到.触摸到.尝到.或闻到的东西.准确地说,对象是一个自包含的实体,用一组可识别的特性和行为来标识.面向对象编程,英文叫 Object-Oriented Programming,其实就是针对对象来进行编程的意思.类就是具有相同属性和功能的对象的抽象集合.实例就是一个真实的对象.比如我们属于'人'类,而个人就是'人'类

java基础学习05(面向对象基础02)

面向对象基础02 实现的目标 1.String类的使用 2.掌握this关键字的使用3.掌握static关键字的使用 String类 实例化String对象一个字符串就是一个String类的匿名对象,就是已经开辟了堆内存空间的并可以直接使用的对象.1.采用直接赋值的方式进行操作. String name = "zhangsan"; 使用这种方式,如果一个字符串已经被一个名称所引用,则以后再有相同的字符串声明时,就不会再开辟内存空间.2.直接调用String类的构造方法(public S

java基础学习05(面向对象基础01--类实例分析)

面向对象基础01(类实例分析) 实现的目标 1.如何分析一个类(类的基本分析思路) 分析的思路 1.根据要求写出类所包含的属性2.所有的属性都必须进行封装(private)3.封装之后的属性通过setter和getter设置和取得4.如果需要可以加入若干构造方法 5.再根据其它要求添加相应的方法6.类中的所有方法都不要直接输出,而是交给被调用处调用 Demo 定义并测试一个名为Student的类,包括属性有"学号"."姓名"以及3门课程"数学".

JAVA学习_零基础学习JAVA方法_零基础学习JAVA思路

在学习JAVA前,对于一个真正初学者(也就是从零开始学习JAVA人员)的一个问题:什么是JAVA,然后才是怎么学习JAVA?JAVA是sun microsystems在1995年推出的高级编程语言,其分为Java SE.Java EE.Java ME三大体系,而JAVA SE是JAVA的基础,继JAVASE之后是JAVAEE,JAVA ME.JAVASE是JAVAEE的基础,Servlet.JSP是框架的基础.数据库方面个人建议学习oracle,当然其它的像 MySQL,MSSQL,都可以,只要

Java学习的一些基础笔记

classpath.;%java_home%\lib;%java_home%\lib\tools.jar;D:\Java\;java_homeD:\Program Files\Java\jdk1.8.0_51pathC:\Users\BaseKing-Sunie\AppData\Local\Code\bin;%java_home%\bin;%java_home%\jre\bin;D:\adt-bundle-windows-x86_64_20131020\sdk\tools;D:\adt-bund