lc200,僵尸小子之僵尸兵团,万年历转换
title: java基础语法(9)-面向对象之类的成员
blog: csdn
data: java学习路线及视频
二者都是一种思想,面向对象是相对于面向过程而言的。面向过程,强调的是功能行为,以函数为最小单位,考虑怎么做。面向对象,将功能封装进对象,强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。
面向对象更加强调运用人类在日常的思维逻辑中采用的思想方法与原则,如抽象、分类、继承、聚合、多态等。
面向对象的三大特征
封装 (encapsulation)
继承 (inheritance)
多态 (polymorphism)
修饰符 class 类名 { 属性声明; 方法声明; } 说明:修饰符public:类可以被任意访问类的正文要用{ }括起来
public class person{ private int age ; //声明私有变量 age public void showage(int i) { //声明方法showage( ) age = i; } }
类名 对象名 = new 类名();
animal xb=new animal();
对象名.对象成员的方式访问对象成员(包括属性和方法)
//animal类 public class animal { public int legs; public void eat(){ system.out.println(“eating.”); } public viod move(){ system.out.println(“move.”); }
public class zoo{ public static void main(string args[]){ //创建对象 animal xb=new animal(); xb.legs=4;//访问属性 system.out.println(xb.legs); xb.eat();//访问方法 xb.move();//访问方法 } }
修饰符 数据类型 属性名 = 初始化值 ;
public class person{ private int age; //声明private变量 age public string name = “lila”; //声明public变量 name }
class person{ //1.属性 string name;//姓名--成员变量 int age = 1;//年龄 boolean ismale;//是否是男性 public void show(string nation){ //nation:局部变量 string color;//color:局部变量 color = "yellow"; } } //测试类 class persontest{ public static void main(string[] args){ person p = new person(); p.show(“usa”); } }
public class person{ private int age; public int getage() { //声明方法getage() return age; } public void setage(int i) { //声明方法setage age = i; //将参数i的值赋给类的成员变量age } }
修饰符 返回值类型 方法名(参数类型 形参1, 参数类型 形参2, ….){ 方法体程序代码 return 返回值; } 修饰符:public,缺省,private, protected等
无返回值 | 有返回值 | |
---|---|---|
无形参 | void 方法名(){} | 返回值的类型 方法名(){} |
有形参 | void 方法名(形参列表){} | 返回值的类型 方法名(形参列表){} |
注意
方法的重载
在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。
与返回值类型无关,只看参数列表,且参数列表必须不同。(参数个数或参数类型)。调用时,根据方法参数列表的不同来区别。
//返回三个整数的和 int add(int x,int y,int z){ return x+y+z; }
//可变参数 public void test(string a,int... b){ for (int i : b) { log.i("test:","b:" + i); } }
person p = new person(“peter”,15);
修饰符 类名 (参数列表) { 初始化语句; }
//创建animal类的实例 //调用构造器,将legs初始化为4。 public class animal { private int legs; // 构造器 public animal() { legs = 4; } public void setlegs(int i) { legs = i; } public int getlegs() { return legs; }
代码块的作用:
代码块的分类:
静态代码块:用static修饰的代码块
非静态代码块:没有static修饰的代码块
class person { public static int total; static { total = 100; system.out.println("in static block!"); } } public class persontest { public static void main(string[] args) { system.out.println("total = " + person.total); system.out.println("total = " + person.total); } }
程序中成员变量赋值的执行顺序
class outer { private int s; public class inner { public void mb() { s = 100; system.out.println("在内部类inner中s=" + s); } } public void ma() { inner i = new inner(); i.mb(); } } public class innertest { public static void main(string args[]) { outer o = new outer(); o.ma(); } }
2020-3-31: java基础语法(6)-注释
2020-3-31: java基础语法(7)-数组
今日好文推荐
今日资料推荐
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
浅析我对 String、StringBuilder、StringBuffer 的理解
使用IDEA搭建SSM框架的详细教程(spring + springMVC +MyBatis)
Springboot整合freemarker 404问题解决方案
引入mybatis-plus报 Invalid bound statement错误问题的解决方法
网友评论