JAVA面向对象学习笔记
一、类、对象
小车 颜色 速度 座位
//类要用class定义
//在class类里面的变量都是成员变量,成员变量直接写在;类中的变量
public class T1 { //类String color; //类中定义的对象int sd; //类中定义的对象int zuow =5; //类中定义的对象public void run(){ //方法System.out.println("pao");//成员方法,不写static}public static void main(String[] args) {// TODO Auto-generated method stubT1 c =new T1();//创建一个对象 类 引用 = new类();c.run();//调用对象或者引用对象.方法(),调用一次就可以c.color="白色";//“.”表示“的”c.sd=180;
注:如果类中没有定义内容是不可以使用的//c.zuow=5;System.out.println(c.color);System.out.println(c.sd);System.out.println(c.zuow);T1 c2 = new T1();//创建对象 类 引用 = new类();c2.color="蓝色";c2.sd=150;//c2.zuow=5;System.out.println(c2.color);System.out.println(c2.sd);System.out.println(c2.zuow);}}
二、this关键字
this:表示当前的对象,this可以在方法内部获取到对象中的属性信息,this还可以区分局部变量和成员变量,
变量的查找顺序;先找自己方法内;如果自己没有,就去this里面找
二、构造方法
在创建对象的时候调,自动调用的方法
作用:在创建对象的时候,给对象设置属性信息
语法
public类名(传参){}
//例
public class T1 {String name;String hao;int age;String pai;
public T1//类名(String name,int age,String pai )//传参{ //构造方法}
三、构造方法重载
作用:可以用更多的方式去创建对象
public class T1 {String name;String hao;int age;String pai;public T1//类名(String name,int age,String pai )//传参{ //重载this.age=age;this.name=name;this.pai = pai; }public T1(String name,int age,String pai,String hao){ //构造重载this(name,age,pai);//this可以调用当前类中其他的构造方法this.hao = hao; }public static void main(String[] args){T1 dx1 = new T1("不不",18,"呵呵");T1 dx2 = new T1("hh",19,"哈哈","行");}
}
XL总结练习
public class T1 {String name;String jiQ;String jiW;String jiE;public T1(String name){this.name=name; //构造方法}public T1(String name,String jiQ,String jinW,String jiE ){this(name);//调用构造方法this.jiQ=jiQ;this.jiW=jiW;this.jiE=jiE; //构造重载}public void gan(){ //方法System.out.println(name+"在战场");}public static void main(String[] args){T1 nb = new T1("杀手","暗杀","潜伏","隐藏");nb.gan();}
}
四、static静态
特点、
数据共享
属于类,不属于对象
优先于对象产生
public class T1 {String name;static String guo = "welkin";//上面静态是共享的,如果此处共享这个变量了,那么下面的变量要删除,否则会报错String dizi;public T1(String name,String dizi,//String guo上面有了静态共享,那么此处需要删除){this.dizi=dizi;this.name=name;//this.guo=guo;//这里也要删除}//上面是构造方法,语法public类名(传参)public static void main(String[] args){T1 p = new T1("中","天");//如果此处变量命名也需要删除,下面也是T1 p1 = new T1("King","man");T1 guo;//此处也可以不使用,如果此处使用要用类名T1去访问,最好不要用p去访问,因为p是对象System.out.println(p1.guo);System.out.println(p.guo);}
}
五、继承
继承:子类可以拥有父类除了私有内容以外的其他所有内容
作用:简化代码开发
语法
public class 子类 extends 父类{}public class T1 extends Test{//继承test}public class T2 extends Test{//继承test,当然T2也可以继承T1,T2继承了T1,T1及不可以继承T2}public class Test {private void po(){System.out.println("晴空");//当前私有数据将不会被继承}public void main() { //方法// TODO Auto-generated method stubSystem.out.println("天空");}
}public class Test1 {public static void main(String[] args) {// TODO Auto-generated method stubT1 p = new T1();p.main();T2 p1 = new T2();p1.main();} //打印结果天空,天空
}
六、super关键字
作用:super可以获取父类中的关键字
public class T1{String name = "英雄";public T1(){System.out.println(天"); }
"}public class T2 extends T1{ //继承T1里面的nameString name = "阴天";public T2(){ super(); //获取父类T1里面的内容,此处必须放在第一句否则会报错System.out.println("太阳");}public void king(){System.out.println(super.name);System.out.println(this.name+"晴天"); }public static void main(String[] args) {T2 p =new T2();p.king(); //打印king方法 打印结果 天,太阳,英雄,阴天晴天}
}
七、多态
概念:同一种对象拥有多种形态
作用:把不同的数据进行统一
public class T1 extends Demo{ //此处必须要继承public void cat(){ //cat处命名必须要一样System.out.println("猫 在吃");}
}public class T2 extends Demo{ //此处必须要继承public void cat(){ //cat处命名必须要一样System.out.println("狗在跑");}
}public class Demo {public void cat(){ //cat处命名必须要一样}
}public class Dome2 {public void king(Demo p){p.cat();}
}public class T3 extends Demo{ //此处必须要继承public void cat(){ //cat处命名必须要一样System.out.println("鸟在飞");}
}public class Test1 {public static void main(String[] args) {// TODO Auto-generated method stubDemo p = new T1();Demo p1 = new T2();Demo p2 = new T3();Dome2 t = new Dome2(); //创建新的对象t.king(p);t.king(p1);t.king(p2);}
}
八、final方法
作用:
被final放法修饰的变量不能被改变;
被final方法修饰的不能被重写;
被final方法修饰的类不能被继承;
总结:所有被final方法命名的东西都不能被改写
九、抽象
abstract:抽象
特点:
抽象类不可以创建对象;
抽象类的子类,必须重写父类中的抽象方法,否则子类必须也是抽象类,抽象类T2中有几个抽象方法,T1也要和T2中的抽象一样
语法
public abstract void can();//不用加花括号,直接用分号结尾public abstract class T2 { //因为下面有抽象方法那么此处类中必须要有抽象public abstract void can();//如果此处有抽象方法那么类中必须要有抽象public abstract void iin();
}public class T1 extends T2{ //如果此处继承了T2,那T2中有几个抽象方法那么T1也要有public void can(){ // 重写System.out.println("猫 在吃"); }public void iin(){ //重写System.out.println("gou");}
}public class T3{public static void main(String[] args) {T2 a = new T1();//多态a.can();a.iin();}//打印结果 猫在吃 gou
}
十、接口
接口使用interf来声明
接口也具有多态性
implements:实现
public interface T2{ //接口void fly(); //抽象,,省略了public abstractvoid welkin(); //抽象,,省略了public abstract
}public interface Dome { //接口void man(); //抽象,,省略了public abstract
}public class T1 extends Demo implements Dome,T2{//此处继承 此处实现,和继承的意思差不多 public void man(){ //上面有了抽象必须重写抽象System.out.println("这是接口");}public void fly(){ //上面有了抽象必须重写抽象System.out.println("飞");}public void welkin(){ //上面有了抽象必须重写抽象System.out.println("天空");}
}public class Demo{ //类public void fly(){ //fly的命名不能更改,否则报错System.out.println("这是接口二");}
}public class T3{public static void main(String[] args) {T1 n = new T1();Demo n1 = new T1();T2 n2 = new T1();n.man();n1.fly();n2.welkin();//打印结果,这是接口,飞,天空 }
}
十一、list有序列表
import java.util.ArrayList; //导包
import java.util.List; //导包
public class T1 {public static void main(String[] args) {List list = new ArrayList();list.add(111);list.add(333);list.add(555);System.out.println(list.get(2));//打印结果555//数字类型是object,所以下面要用object,如果上面是string类型那么下面也要用string类型for (Object s : list){ //也可以用for循环遍历,把每个都打印出来System.out.println(s);}//打印结果111,333,555}
}
十二、MAP
语法
Map<K, V>map = new HashMap<>();
import java.util.HashMap;
import java.util.Map;
public class T1 {public static void main(String[] args) {Map<String, Integer>map = new HashMap<>();map.put("a", 1);map.put("v", 2);for(String s : map.keySet()){ //遍历KSystem.out.println(s);}for(Map.Entry<String, Integer> entery : map.entrySet()){System.out.println(entery.getKey()+"=="+entery.getValue());}//遍历K,V}for(Map.Entry<String, Integer> entery : map.entrySet()){System.out.println(entery.getValue());}//遍历V
}
十三、泛型
语法
List<字符串类型> list = new ArrayList<>();
import java.util.ArrayList;
import java.util.List;
public class T1 {public static void main(String[] args) { //泛型就是在list中多加字符串类型,防止其他类型加进来,比如int整型 List<String> list = new ArrayList<>();list.add("a");list.add("B");list.add("C");for (String s : list){System.out.println(s);}}
}
欢迎使用Markdown编辑器
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编在这里插入代码片
辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
新的改变
我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:
- 全新的界面设计 ,将会带来全新的写作体验;
- 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
- 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
- 全新的 KaTeX数学公式 语法;
- 增加了支持甘特图的mermaid语法1 功能;
- 增加了 多屏幕编辑 Markdown文章功能;
- 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
- 增加了 检查列表 功能。
功能快捷键
撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
查找:Ctrl/Command + F
替换:Ctrl/Command + G
合理的创建标题,有助于目录的生成
直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC
语法后生成一个完美的目录。
如何改变文本的样式
强调文本 强调文本
加粗文本 加粗文本
标记文本
删除文本
引用文本
H2O is是液体。
210 运算结果是 1024.
插入链接与图片
链接: link.
图片:
带尺寸的图片:
居中的图片:
居中并且带尺寸的图片:
当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。
如何插入一段漂亮的代码片
去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片
.
// An highlighted block
var foo = 'bar';
生成一个适合你的列表
- 项目
- 项目
- 项目
- 项目
- 项目1
- 项目2
- 项目3
- 计划任务
- 完成任务
创建一个表格
一个简单的表格是这么创建的:
项目 | Value |
---|---|
电脑 | $1600 |
手机 | $12 |
导管 | $1 |
设定内容居中、居左、居右
使用:---------:
居中
使用:----------
居左
使用----------:
居右
第一列 | 第二列 | 第三列 |
---|---|---|
第一列文本居中 | 第二列文本居右 | 第三列文本居左 |
SmartyPants
SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:
TYPE | ASCII | HTML |
---|---|---|
Single backticks |
'Isn't this fun?'
|
‘Isn’t this fun?’ |
Quotes |
"Isn't this fun?"
|
“Isn’t this fun?” |
Dashes |
-- is en-dash, --- is em-dash
|
– is en-dash, — is em-dash |
创建一个自定义列表
- Markdown
- Text-to-HTML conversion tool
- Authors
- John
- Luke
如何创建一个注脚
一个具有注脚的文本。2
注释也是必不可少的
Markdown将文本转换为 HTML。
KaTeX数学公式
您可以使用渲染LaTeX数学表达式 KaTeX:
Gamma公式展示 Γ(n)=(n−1)!∀n∈N\Gamma(n) = (n-1)!\quad\forall n\in\mathbb NΓ(n)=(n−1)!∀n∈N 是通过欧拉积分
Γ(z)=∫0∞tz−1e−tdt.\Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=∫0∞tz−1e−tdt.
你可以找到更多关于的信息 LaTeX 数学表达式here.
新的甘特图功能,丰富你的文章
- 关于 甘特图 语法,参考 这儿,
UML 图表
可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:
这将产生一个流程图。:
- 关于 Mermaid 语法,参考 这儿,
FLowchart流程图
我们依旧会支持flowchart的流程图:
- 关于 Flowchart流程图 语法,参考 这儿.
导出与导入
导出
如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。
导入
如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。
mermaid语法说明 ↩︎
注脚的解释 ↩︎
JAVA面向对象学习笔记相关推荐
- Java面向对象学习笔记 -- 6(内部类、Timer)
1. 内部类 内部类就是在一个类的内部定义的类,有:静态内部类.成员内部类,局部内部类.匿名内部类. -1) 静态内部类:使用static修饰,声明在类体中, 静态内部类中可以访问外部类的静态成员,开 ...
- Java入门学习笔记——郝斌(一)概述及面向对象
Java入门学习笔记--郝斌 1.Java概述 java的起源和发展 java的特点 java的应用领域 java学习目标 环境变量的设置 为什么要设置path? path的设置 有关classpat ...
- 尚学堂JAVA基础学习笔记_2/2
尚学堂JAVA基础学习笔记_2/2 文章目录 尚学堂JAVA基础学习笔记_2/2 写在前面 第10章 IO技术 1. IO入门 2. IO的API 3. 装饰流 4. IO实战 5. CommonsI ...
- 计算机、程序和 Java 概述 学习笔记
计算机.程序和java概述 学习笔记 1.1什么是计算机 简单来说:计算机就是 ' 存储 ' 和 ' 处理 ' 数据的电子设备. 计算机包括硬件( hardware ) 和软件( software) ...
- 尚学堂JAVA高级学习笔记_1/2
尚学堂JAVA高级学习笔记 文章目录 尚学堂JAVA高级学习笔记 写在前面 第1章 手写webserver 1. 灵魂反射 2. 高效解析xml 3. 解析webxml 4. 反射webxml 5. ...
- java web学习笔记(持续更新)
java web学习笔记 一.Java Web简介 二.认识Servlet 1.什么是Servlet? 2.请求路径 3.tomcat 4.Servlet的使用 三.Servlet简单应用 1.创建S ...
- 黑马程序员Java教程学习笔记(三)
学习视频:https://www.bilibili.com/video/BV1Cv411372m 如侵权,请私信联系本人删除 文章目录 黑马程序员Java教程学习笔记(三) 面向对象:设计对象.注意事 ...
- 【Java】学习笔记2——从小白到入门(技术提升篇)
写在前面 [Java]学习笔记1--从小小白到小白 (基础知识篇)里记录了Java中最最基础的知识,在对基础知识有了基本了解之后,就可以开始着手技术提升了.本篇博客也将延续第一篇,继续记录我的Java ...
- Java NIO 学习笔记(三)----Selector
目录: Java NIO 学习笔记(一)----概述,Channel/Buffer Java NIO 学习笔记(二)----聚集和分散,通道到通道 Java NIO 学习笔记(三)----Select ...
最新文章
- Java读取Properties配置文件
- oracle事务数统计,oracle函数与事务
- libc glibc glib 的关系
- AWS elastic load balancer里的监听器certificate设置
- mysql5.7.24怎么打开_mysql-5.7.24-winx64安装教程
- 前端学习(2368):编程式导航
- 吐血原创-我用“电驴”抓肉鸡!!!
- PID参数整定法(2)
- Objective-C Property 和 Synthesize
- C++【EasyX】校园导航系统(阶段性实训项目)
- 机器学习代码实战——数值计算
- C++ 变量在内存中的分布
- 如果需要一个图形学算法
- 《Programming WPF》翻译 第9章 3.自定义功能
- VS log4net引用错误的解决
- jchdl - GSL实例 - LogicalLeft
- Setinterl全面介绍
- QCC3005 Line_IN 优先级
- 1K直接金属涂层(DTM)-市场现状及未来发展趋势
- 王之泰201771010131《面向对象程序设计(java)》第十七周学习总结