Android学习笔记day5
来源:互联网 发布:centos 安装gitlab 编辑:程序博客网 时间:2024/05/18 03:53
类的创建以及类与对象的关系:
1、class 类名称{
属性
方法
}
类名称的首字母大写。
2、类是对某一类事物的描述,是抽象的,概念上的意义。对象是实际存在的该类对象的一个个体,也被称为实例。
代码:(通过对象去调用类里面的方法)
package com.jikexueyuan.ch02;
class Person{
String name = null;
int age = 0;
public void tell(){
System.out.println("姓名:"+name+" "+"年龄:"+age);
}
}
public class text18 {
public static void main(String[] args) {
/*
* 创建对象
* 赋值
* 对象.属性
* 对象.方法
*/
Person per = null;//声明
per = new Person();//实例化操作
// Person per = new Person();//声明并实例化
per.name = "张三";
per.age = 10;
per.tell();
/*
* Exception in thread "main" java.lang.NullPointerException
* 空指针异常
*/
}
}
内存分配:
面向对象的三大特征:
1、封装性(对外部不可见)
2、继承(扩展类的功能)
3、多态性(方法的重载 对象的多态性)
递归调用:
package com.jikexueyuan.ch02;
public class text19 {
public static void main(String[] args) {
System.out.println(addNum(100));
}
/*
* 从1+100;100+99+98+97+....+1
* @param num
* @return
*/
public static int addNum(int num){
if(num == 1){
return 1;
}
else{
return num+addNum(num - 1);
}
}
}
封装性:
1、封装性的产生目的:保护某些方法和属性不被外部所访问。
2、为属性和方法进行封装是通过关键字private声明的。实现该属性的set方法和get方法,为外部所访问。
代码:
package com.jikexueyuan.ch02;
class Person{
private int age;
private String name;
public int getAge(){
return age;
}
public void setAge(int a){
if(a>0&&a<150){
age = a;
}
}
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
public void tell(){
//get是得到
System.out.println("姓名:"+name+" "+"年龄:"+age);
}
}
public class text20 {
public static void main(String[] args) {
Person per = new Person();
// per.age = -30;
// per.name = "张三";
per.setAge(30);//设置
per.setName("张三");
per.tell();
}
}
匿名对像:匿名对象就是没有名字的对象,如果程序只是使用一次该对象,可以使用匿名对象的方式。
构造方法:
1、格式:
访问修饰符类名称(){
程序语句
}
2、注意点:
(1)构造方法名称必须与类名称一致。
(2)构造方法没有返回值。
3、构造方法主要是为类中的属性初始化。
4、每个类在实例化之后都会调用构造方法,如果没有构造方法,程序在编译的时候会创造一个无参的什么都不做的构造方法。
5、构造方法也可以重载。
代码:
package com.jikexueyuan.ch02;
class Person{
//构造方法
int age;
String name;
public Person(int a,String n){
age = a;
name = n;
System.out.println("姓名:"+name+" "+"年龄:"+age);
}
public Person(int a){
age = a;
System.out.println("年龄:"+age);
}
}
public class text21 {
public static void main(String[] args) {
Person per = new Person(30,"张三");
}
}
- Android学习笔记day5
- java学习笔记day5
- CCNA学习笔记Day5
- CSS学习笔记(Day5)
- 机器学习学习笔记.day5
- css-day5-个人学习笔记
- sql server学习笔记-day5
- c++ 学习笔记(高级linux编程) day5
- 《python》学习笔记(Day5),继承类
- Python的学习笔记DAY5---面向对象
- IMWeb前端学习笔记——Day5
- 学习笔记(逆向汇编)Day1-Day5
- LoadRunner学习笔记——Day5
- 学习笔记(逆向汇编)Day1-Day5
- Machine learning for OpenCV 学习笔记 day5
- day5-笔记
- Android学习之Java基础篇day5
- Lua学习笔记Day5-Lua实现窗口类
- SCOI2005[互不侵犯KING]
- 34.App页面中数据加载的6种方式
- python实现基础排序算法之(冒泡排序)
- Android中View的弹性滑动——Android开发艺术探索笔记
- Linux第一天笔记2016年01月08日(周五)
- Android学习笔记day5
- 够您学习一辈子的生活经典
- MQTT 测试工具
- 页面跳转参数携带与参数接收的几种方式
- Red and Black(搜索题目)
- while(true)
- 杂
- IE9下jquery Ajax跨域请求问题
- iOS 设置只支持竖屏